From 5dd41d4d881fe3757bcb96fceb34c28b23b1ad49 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Thu, 10 Sep 2026 03:57:01 +0000 Subject: [PATCH 1/2] [fern-generated] Update SDK Generated by Fern CLI Version: unknown Generators: - fernapi/fern-python-sdk: 5.28.0 --- .fern/metadata.json | 2 +- poetry.lock | 321 ++++---- reference.md | 507 ++++++++++++- src/whop_sdk/__init__.py | 68 +- src/whop_sdk/access_tokens/client.py | 4 +- src/whop_sdk/account_links/client.py | 4 +- src/whop_sdk/accounts/__init__.py | 18 + src/whop_sdk/accounts/client.py | 32 +- src/whop_sdk/accounts/preferences/client.py | 18 +- .../accounts/preferences/raw_client.py | 10 + .../types/retrieve_preferences_response.py | 5 + .../types/update_preferences_response.py | 5 + src/whop_sdk/accounts/reserves/client.py | 4 +- src/whop_sdk/accounts/types/__init__.py | 18 + ...post_account_financing_approved_payload.py | 57 ++ ..._financing_approved_payload_api_version.py | 5 + ...account_financing_approved_payload_type.py | 5 + .../post_account_financing_denied_payload.py | 57 ++ ...nt_financing_denied_payload_api_version.py | 5 + ...t_account_financing_denied_payload_type.py | 5 + src/whop_sdk/ad_campaigns/client.py | 36 +- src/whop_sdk/ad_groups/client.py | 40 +- src/whop_sdk/ads/client.py | 32 +- src/whop_sdk/affiliates/client.py | 20 +- src/whop_sdk/affiliates/overrides/client.py | 20 +- src/whop_sdk/ai_chats/client.py | 20 +- src/whop_sdk/api_keys/client.py | 28 +- ...reate_api_keys_request_api_version_date.py | 1 + ...pdate_api_keys_request_api_version_date.py | 1 + src/whop_sdk/api_logs/client.py | 4 +- src/whop_sdk/app_builds/client.py | 16 +- src/whop_sdk/apps/client.py | 48 +- src/whop_sdk/apps/raw_client.py | 16 +- src/whop_sdk/audiences/client.py | 20 +- src/whop_sdk/authorized_users/client.py | 16 +- src/whop_sdk/bounties/client.py | 20 +- src/whop_sdk/bounties/submissions/client.py | 8 +- src/whop_sdk/bounty_submissions/client.py | 20 +- src/whop_sdk/card_transactions/client.py | 8 +- src/whop_sdk/cards/client.py | 16 +- src/whop_sdk/chat_channels/client.py | 12 +- .../checkout_configurations/client.py | 16 +- src/whop_sdk/client.py | 27 +- .../company_token_transactions/client.py | 12 +- src/whop_sdk/confirmation_tokens/client.py | 8 +- src/whop_sdk/course_chapters/client.py | 20 +- .../course_lesson_interactions/client.py | 8 +- src/whop_sdk/course_lessons/client.py | 32 +- src/whop_sdk/course_students/client.py | 8 +- src/whop_sdk/courses/client.py | 20 +- src/whop_sdk/deposits/client.py | 4 +- src/whop_sdk/dispute_alerts/client.py | 8 +- src/whop_sdk/disputes/client.py | 24 +- src/whop_sdk/dm_channels/client.py | 20 +- src/whop_sdk/dm_members/client.py | 20 +- src/whop_sdk/domains/__init__.py | 52 ++ src/whop_sdk/domains/client.py | 603 +++++++++++++++ src/whop_sdk/domains/raw_client.py | 711 ++++++++++++++++++ src/whop_sdk/domains/types/__init__.py | 50 ++ .../types/list_domains_request_direction.py | 5 + .../types/list_domains_request_order.py | 5 + .../types/list_domains_request_status.py | 8 + .../domains/types/list_domains_response.py | 22 + .../types/list_domains_response_page_info.py | 22 + src/whop_sdk/entries/client.py | 16 +- src/whop_sdk/events/client.py | 16 +- src/whop_sdk/experiences/client.py | 32 +- src/whop_sdk/exports/client.py | 12 +- src/whop_sdk/fee_markups/client.py | 12 +- src/whop_sdk/files/client.py | 16 +- src/whop_sdk/financial_activity/client.py | 4 +- ...ancial_activity_request_line_types_item.py | 2 + .../financial_reports/breakdown/client.py | 4 +- .../retrieve_breakdown_request_bucket.py | 1 + .../retrieve_breakdown_response_bucket.py | 1 + src/whop_sdk/financial_reports/client.py | 4 +- ...nancial_reports_request_line_types_item.py | 2 + ...eports_response_rows_item_line_category.py | 2 + src/whop_sdk/forum_posts/client.py | 16 +- src/whop_sdk/forums/client.py | 12 +- src/whop_sdk/identity_profiles/client.py | 16 +- src/whop_sdk/invoices/client.py | 36 +- src/whop_sdk/leads/client.py | 16 +- src/whop_sdk/ledger_accounts/client.py | 4 +- src/whop_sdk/media/client.py | 8 +- src/whop_sdk/members/client.py | 8 +- src/whop_sdk/members/logs/client.py | 4 +- src/whop_sdk/memberships/client.py | 40 +- src/whop_sdk/messages/client.py | 20 +- src/whop_sdk/notifications/client.py | 20 +- src/whop_sdk/notifications/topics/client.py | 4 +- src/whop_sdk/partners/businesses/client.py | 8 +- .../partners/businesses/earnings/client.py | 4 +- src/whop_sdk/partners/client.py | 16 +- src/whop_sdk/payment_method_domains/client.py | 20 +- src/whop_sdk/payment_methods/client.py | 12 +- src/whop_sdk/payments/client.py | 54 +- src/whop_sdk/payments/raw_client.py | 10 + src/whop_sdk/payout_accounts/client.py | 4 +- src/whop_sdk/payout_methods/client.py | 8 +- src/whop_sdk/payouts/client.py | 20 +- src/whop_sdk/payouts/methods/client.py | 16 +- ...ods_response_limits_standard_error_code.py | 2 +- .../payouts/supported_methods/client.py | 4 +- src/whop_sdk/people/client.py | 8 +- src/whop_sdk/permissions/client.py | 4 +- src/whop_sdk/plans/client.py | 24 +- src/whop_sdk/products/client.py | 28 +- src/whop_sdk/promo_codes/client.py | 24 +- src/whop_sdk/reactions/client.py | 16 +- src/whop_sdk/recommended_actions/client.py | 16 +- .../recommended_actions/raw_client.py | 89 +++ src/whop_sdk/refunds/client.py | 8 +- .../resolution_center_cases/client.py | 44 +- src/whop_sdk/reviews/client.py | 8 +- src/whop_sdk/setup_intents/client.py | 20 +- src/whop_sdk/shipments/client.py | 16 +- src/whop_sdk/social_accounts/client.py | 32 +- src/whop_sdk/social_accounts/raw_client.py | 8 +- ...create_social_accounts_request_platform.py | 2 +- src/whop_sdk/stats/client.py | 20 +- src/whop_sdk/support_channels/client.py | 12 +- src/whop_sdk/swaps/client.py | 16 +- src/whop_sdk/team_members/client.py | 20 +- src/whop_sdk/topups/client.py | 4 +- src/whop_sdk/transfers/client.py | 16 +- src/whop_sdk/types/__init__.py | 30 +- .../types/account_payment_controls.py | 2 +- ...payment_controls_undated_pending_reason.py | 2 +- src/whop_sdk/types/account_preferences.py | 5 + .../types/api_key_api_version_date.py | 1 + src/whop_sdk/types/app.py | 2 + src/whop_sdk/types/app_domain.py | 33 + src/whop_sdk/types/app_domain_status.py | 8 + src/whop_sdk/types/app_list_item.py | 2 + src/whop_sdk/types/dispute.py | 6 +- src/whop_sdk/types/domain.py | 93 +++ src/whop_sdk/types/domain_dns_record.py | 33 + src/whop_sdk/types/domain_dns_record_type.py | 5 + src/whop_sdk/types/domain_dns_status.py | 5 + src/whop_sdk/types/domain_issue.py | 27 + src/whop_sdk/types/domain_status.py | 8 + .../types/ledger_activity_line_type.py | 2 + src/whop_sdk/types/ledger_activity_source.py | 2 +- src/whop_sdk/types/payment.py | 4 +- src/whop_sdk/types/payment_instrument.py | 2 +- src/whop_sdk/types/payment_instrument_card.py | 5 + src/whop_sdk/types/payment_status.py | 10 +- .../types/payment_verification_checks.py | 6 +- src/whop_sdk/types/permission_action.py | 1 + src/whop_sdk/types/product.py | 5 + src/whop_sdk/types/product_list_item.py | 5 + ...tion_line_item.py => receipt_line_item.py} | 20 +- src/whop_sdk/types/resolution_center_case.py | 4 +- src/whop_sdk/types/social_account.py | 4 +- src/whop_sdk/types/webhook_event.py | 2 + src/whop_sdk/types/webhook_events_item.py | 2 + .../types/webhook_list_item_events_item.py | 2 + .../types/webhook_testable_events_item.py | 2 + src/whop_sdk/users/client.py | 28 +- src/whop_sdk/users/oauth_grants/client.py | 8 +- src/whop_sdk/users/passkeys/client.py | 16 +- src/whop_sdk/users/preferences/client.py | 8 +- .../users/preferences/notifications/client.py | 4 +- .../notifications/experiences/client.py | 4 +- .../notifications/topics/client.py | 4 +- src/whop_sdk/verifications/client.py | 20 +- src/whop_sdk/verifications/raw_client.py | 4 +- .../create_verifications_request_body.py | 2 + ...ate_verifications_request_body_business.py | 5 + ...e_verifications_request_body_individual.py | 5 + src/whop_sdk/webhooks/client.py | 36 +- .../create_webhooks_request_events_item.py | 2 + .../update_webhooks_request_events_item.py | 2 + 174 files changed, 3697 insertions(+), 989 deletions(-) create mode 100644 src/whop_sdk/accounts/types/post_account_financing_approved_payload.py create mode 100644 src/whop_sdk/accounts/types/post_account_financing_approved_payload_api_version.py create mode 100644 src/whop_sdk/accounts/types/post_account_financing_approved_payload_type.py create mode 100644 src/whop_sdk/accounts/types/post_account_financing_denied_payload.py create mode 100644 src/whop_sdk/accounts/types/post_account_financing_denied_payload_api_version.py create mode 100644 src/whop_sdk/accounts/types/post_account_financing_denied_payload_type.py create mode 100644 src/whop_sdk/domains/__init__.py create mode 100644 src/whop_sdk/domains/client.py create mode 100644 src/whop_sdk/domains/raw_client.py create mode 100644 src/whop_sdk/domains/types/__init__.py create mode 100644 src/whop_sdk/domains/types/list_domains_request_direction.py create mode 100644 src/whop_sdk/domains/types/list_domains_request_order.py create mode 100644 src/whop_sdk/domains/types/list_domains_request_status.py create mode 100644 src/whop_sdk/domains/types/list_domains_response.py create mode 100644 src/whop_sdk/domains/types/list_domains_response_page_info.py create mode 100644 src/whop_sdk/types/app_domain.py create mode 100644 src/whop_sdk/types/app_domain_status.py create mode 100644 src/whop_sdk/types/domain.py create mode 100644 src/whop_sdk/types/domain_dns_record.py create mode 100644 src/whop_sdk/types/domain_dns_record_type.py create mode 100644 src/whop_sdk/types/domain_dns_status.py create mode 100644 src/whop_sdk/types/domain_issue.py create mode 100644 src/whop_sdk/types/domain_status.py rename src/whop_sdk/types/{resolution_line_item.py => receipt_line_item.py} (62%) diff --git a/.fern/metadata.json b/.fern/metadata.json index 58fcd9ee..85ef6de1 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -15,7 +15,7 @@ "standardwebhooks": ">=1.0.1,<2" } }, - "originGitCommit": "cf16a127c76390f3f49231d21372fdc7d9de2c1f", + "originGitCommit": "0de3f15e7d13c6ffcec8601abfab499780387ccd", "originGitCommitIsDirty": false, "invokedBy": "ci", "requestedVersion": "1.1.1", diff --git a/poetry.lock b/poetry.lock index 196c03a4..edcafd1c 100644 --- a/poetry.lock +++ b/poetry.lock @@ -550,159 +550,184 @@ files = [ [[package]] name = "multidict" -version = "6.7.1" +version = "6.8.0" description = "multidict implementation" optional = true -python-versions = ">=3.9" +python-versions = ">=3.10" groups = ["main"] markers = "extra == \"aiohttp\"" files = [ - {file = "multidict-6.7.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c93c3db7ea657dd4637d57e74ab73de31bccefe144d3d4ce370052035bc85fb5"}, - {file = "multidict-6.7.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:974e72a2474600827abaeda71af0c53d9ebbc3c2eb7da37b37d7829ae31232d8"}, - {file = "multidict-6.7.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cdea2e7b2456cfb6694fb113066fd0ec7ea4d67e3a35e1f4cbeea0b448bf5872"}, - {file = "multidict-6.7.1-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:17207077e29342fdc2c9a82e4b306f1127bf1ea91f8b71e02d4798a70bb99991"}, - {file = "multidict-6.7.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d4f49cb5661344764e4c7c7973e92a47a59b8fc19b6523649ec9dc4960e58a03"}, - {file = "multidict-6.7.1-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a9fc4caa29e2e6ae408d1c450ac8bf19892c5fca83ee634ecd88a53332c59981"}, - {file = "multidict-6.7.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c5f0c21549ab432b57dcc82130f388d84ad8179824cc3f223d5e7cfbfd4143f6"}, - {file = "multidict-6.7.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7dfb78d966b2c906ae1d28ccf6e6712a3cd04407ee5088cd276fe8cb42186190"}, - {file = "multidict-6.7.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9b0d9b91d1aa44db9c1f1ecd0d9d2ae610b2f4f856448664e01a3b35899f3f92"}, - {file = "multidict-6.7.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:dd96c01a9dcd4889dcfcf9eb5544ca0c77603f239e3ffab0524ec17aea9a93ee"}, - {file = "multidict-6.7.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:067343c68cd6612d375710f895337b3a98a033c94f14b9a99eff902f205424e2"}, - {file = "multidict-6.7.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5884a04f4ff56c6120f6ccf703bdeb8b5079d808ba604d4d53aec0d55dc33568"}, - {file = "multidict-6.7.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8affcf1c98b82bc901702eb73b6947a1bfa170823c153fe8a47b5f5f02e48e40"}, - {file = "multidict-6.7.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:0d17522c37d03e85c8098ec8431636309b2682cf12e58f4dbc76121fb50e4962"}, - {file = "multidict-6.7.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:24c0cf81544ca5e17cfcb6e482e7a82cd475925242b308b890c9452a074d4505"}, - {file = "multidict-6.7.1-cp310-cp310-win32.whl", hash = "sha256:d82dd730a95e6643802f4454b8fdecdf08667881a9c5670db85bc5a56693f122"}, - {file = "multidict-6.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:cf37cbe5ced48d417ba045aca1b21bafca67489452debcde94778a576666a1df"}, - {file = "multidict-6.7.1-cp310-cp310-win_arm64.whl", hash = "sha256:59bc83d3f66b41dac1e7460aac1d196edc70c9ba3094965c467715a70ecb46db"}, - {file = "multidict-6.7.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7ff981b266af91d7b4b3793ca3382e53229088d193a85dfad6f5f4c27fc73e5d"}, - {file = "multidict-6.7.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:844c5bca0b5444adb44a623fb0a1310c2f4cd41f402126bb269cd44c9b3f3e1e"}, - {file = "multidict-6.7.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f2a0a924d4c2e9afcd7ec64f9de35fcd96915149b2216e1cb2c10a56df483855"}, - {file = "multidict-6.7.1-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:8be1802715a8e892c784c0197c2ace276ea52702a0ede98b6310c8f255a5afb3"}, - {file = "multidict-6.7.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2e2d2ed645ea29f31c4c7ea1552fcfd7cb7ba656e1eafd4134a6620c9f5fdd9e"}, - {file = "multidict-6.7.1-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:95922cee9a778659e91db6497596435777bd25ed116701a4c034f8e46544955a"}, - {file = "multidict-6.7.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6b83cabdc375ffaaa15edd97eb7c0c672ad788e2687004990074d7d6c9b140c8"}, - {file = "multidict-6.7.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:38fb49540705369bab8484db0689d86c0a33a0a9f2c1b197f506b71b4b6c19b0"}, - {file = "multidict-6.7.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:439cbebd499f92e9aa6793016a8acaa161dfa749ae86d20960189f5398a19144"}, - {file = "multidict-6.7.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6d3bc717b6fe763b8be3f2bee2701d3c8eb1b2a8ae9f60910f1b2860c82b6c49"}, - {file = "multidict-6.7.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:619e5a1ac57986dbfec9f0b301d865dddf763696435e2962f6d9cf2fdff2bb71"}, - {file = "multidict-6.7.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0b38ebffd9be37c1170d33bc0f36f4f262e0a09bc1aac1c34c7aa51a7293f0b3"}, - {file = "multidict-6.7.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:10ae39c9cfe6adedcdb764f5e8411d4a92b055e35573a2eaa88d3323289ef93c"}, - {file = "multidict-6.7.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:25167cc263257660290fba06b9318d2026e3c910be240a146e1f66dd114af2b0"}, - {file = "multidict-6.7.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:128441d052254f42989ef98b7b6a6ecb1e6f708aa962c7984235316db59f50fa"}, - {file = "multidict-6.7.1-cp311-cp311-win32.whl", hash = "sha256:d62b7f64ffde3b99d06b707a280db04fb3855b55f5a06df387236051d0668f4a"}, - {file = "multidict-6.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:bdbf9f3b332abd0cdb306e7c2113818ab1e922dc84b8f8fd06ec89ed2a19ab8b"}, - {file = "multidict-6.7.1-cp311-cp311-win_arm64.whl", hash = "sha256:b8c990b037d2fff2f4e33d3f21b9b531c5745b33a49a7d6dbe7a177266af44f6"}, - {file = "multidict-6.7.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a90f75c956e32891a4eda3639ce6dd86e87105271f43d43442a3aedf3cddf172"}, - {file = "multidict-6.7.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fccb473e87eaa1382689053e4a4618e7ba7b9b9b8d6adf2027ee474597128cd"}, - {file = "multidict-6.7.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b0fa96985700739c4c7853a43c0b3e169360d6855780021bfc6d0f1ce7c123e7"}, - {file = "multidict-6.7.1-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:cb2a55f408c3043e42b40cc8eecd575afa27b7e0b956dfb190de0f8499a57a53"}, - {file = "multidict-6.7.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eb0ce7b2a32d09892b3dd6cc44877a0d02a33241fafca5f25c8b6b62374f8b75"}, - {file = "multidict-6.7.1-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c3a32d23520ee37bf327d1e1a656fec76a2edd5c038bf43eddfa0572ec49c60b"}, - {file = "multidict-6.7.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9c90fed18bffc0189ba814749fdcc102b536e83a9f738a9003e569acd540a733"}, - {file = "multidict-6.7.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:da62917e6076f512daccfbbde27f46fed1c98fee202f0559adec8ee0de67f71a"}, - {file = "multidict-6.7.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bfde23ef6ed9db7eaee6c37dcec08524cb43903c60b285b172b6c094711b3961"}, - {file = "multidict-6.7.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3758692429e4e32f1ba0df23219cd0b4fc0a52f476726fff9337d1a57676a582"}, - {file = "multidict-6.7.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:398c1478926eca669f2fd6a5856b6de9c0acf23a2cb59a14c0ba5844fa38077e"}, - {file = "multidict-6.7.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c102791b1c4f3ab36ce4101154549105a53dc828f016356b3e3bcae2e3a039d3"}, - {file = "multidict-6.7.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a088b62bd733e2ad12c50dad01b7d0166c30287c166e137433d3b410add807a6"}, - {file = "multidict-6.7.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3d51ff4785d58d3f6c91bdbffcb5e1f7ddfda557727043aa20d20ec4f65e324a"}, - {file = "multidict-6.7.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fc5907494fccf3e7d3f94f95c91d6336b092b5fc83811720fae5e2765890dfba"}, - {file = "multidict-6.7.1-cp312-cp312-win32.whl", hash = "sha256:28ca5ce2fd9716631133d0e9a9b9a745ad7f60bac2bccafb56aa380fc0b6c511"}, - {file = "multidict-6.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:fcee94dfbd638784645b066074b338bc9cc155d4b4bffa4adce1615c5a426c19"}, - {file = "multidict-6.7.1-cp312-cp312-win_arm64.whl", hash = "sha256:ba0a9fb644d0c1a2194cf7ffb043bd852cea63a57f66fbd33959f7dae18517bf"}, - {file = "multidict-6.7.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2b41f5fed0ed563624f1c17630cb9941cf2309d4df00e494b551b5f3e3d67a23"}, - {file = "multidict-6.7.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:84e61e3af5463c19b67ced91f6c634effb89ef8bfc5ca0267f954451ed4bb6a2"}, - {file = "multidict-6.7.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:935434b9853c7c112eee7ac891bc4cb86455aa631269ae35442cb316790c1445"}, - {file = "multidict-6.7.1-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:432feb25a1cb67fe82a9680b4d65fb542e4635cb3166cd9c01560651ad60f177"}, - {file = "multidict-6.7.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e82d14e3c948952a1a85503817e038cba5905a3352de76b9a465075d072fba23"}, - {file = "multidict-6.7.1-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4cfb48c6ea66c83bcaaf7e4dfa7ec1b6bbcf751b7db85a328902796dfde4c060"}, - {file = "multidict-6.7.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1d540e51b7e8e170174555edecddbd5538105443754539193e3e1061864d444d"}, - {file = "multidict-6.7.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:273d23f4b40f3dce4d6c8a821c741a86dec62cded82e1175ba3d99be128147ed"}, - {file = "multidict-6.7.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d624335fd4fa1c08a53f8b4be7676ebde19cd092b3895c421045ca87895b429"}, - {file = "multidict-6.7.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:12fad252f8b267cc75b66e8fc51b3079604e8d43a75428ffe193cd9e2195dfd6"}, - {file = "multidict-6.7.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:03ede2a6ffbe8ef936b92cb4529f27f42be7f56afcdab5ab739cd5f27fb1cbf9"}, - {file = "multidict-6.7.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:90efbcf47dbe33dcf643a1e400d67d59abeac5db07dc3f27d6bdeae497a2198c"}, - {file = "multidict-6.7.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5c4b9bfc148f5a91be9244d6264c53035c8a0dcd2f51f1c3c6e30e30ebaa1c84"}, - {file = "multidict-6.7.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:401c5a650f3add2472d1d288c26deebc540f99e2fb83e9525007a74cd2116f1d"}, - {file = "multidict-6.7.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:97891f3b1b3ffbded884e2916cacf3c6fc87b66bb0dde46f7357404750559f33"}, - {file = "multidict-6.7.1-cp313-cp313-win32.whl", hash = "sha256:e1c5988359516095535c4301af38d8a8838534158f649c05dd1050222321bcb3"}, - {file = "multidict-6.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:960c83bf01a95b12b08fd54324a4eb1d5b52c88932b5cba5d6e712bb3ed12eb5"}, - {file = "multidict-6.7.1-cp313-cp313-win_arm64.whl", hash = "sha256:563fe25c678aaba333d5399408f5ec3c383ca5b663e7f774dd179a520b8144df"}, - {file = "multidict-6.7.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:c76c4bec1538375dad9d452d246ca5368ad6e1c9039dadcf007ae59c70619ea1"}, - {file = "multidict-6.7.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:57b46b24b5d5ebcc978da4ec23a819a9402b4228b8a90d9c656422b4bdd8a963"}, - {file = "multidict-6.7.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e954b24433c768ce78ab7929e84ccf3422e46deb45a4dc9f93438f8217fa2d34"}, - {file = "multidict-6.7.1-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3bd231490fa7217cc832528e1cd8752a96f0125ddd2b5749390f7c3ec8721b65"}, - {file = "multidict-6.7.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:253282d70d67885a15c8a7716f3a73edf2d635793ceda8173b9ecc21f2fb8292"}, - {file = "multidict-6.7.1-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0b4c48648d7649c9335cf1927a8b87fa692de3dcb15faa676c6a6f1f1aabda43"}, - {file = "multidict-6.7.1-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:98bc624954ec4d2c7cb074b8eefc2b5d0ce7d482e410df446414355d158fe4ca"}, - {file = "multidict-6.7.1-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1b99af4d9eec0b49927b4402bcbb58dea89d3e0db8806a4086117019939ad3dd"}, - {file = "multidict-6.7.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6aac4f16b472d5b7dc6f66a0d49dd57b0e0902090be16594dc9ebfd3d17c47e7"}, - {file = "multidict-6.7.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:21f830fe223215dffd51f538e78c172ed7c7f60c9b96a2bf05c4848ad49921c3"}, - {file = "multidict-6.7.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:f5dd81c45b05518b9aa4da4aa74e1c93d715efa234fd3e8a179df611cc85e5f4"}, - {file = "multidict-6.7.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:eb304767bca2bb92fb9c5bd33cedc95baee5bb5f6c88e63706533a1c06ad08c8"}, - {file = "multidict-6.7.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:c9035dde0f916702850ef66460bc4239d89d08df4d02023a5926e7446724212c"}, - {file = "multidict-6.7.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:af959b9beeb66c822380f222f0e0a1889331597e81f1ded7f374f3ecb0fd6c52"}, - {file = "multidict-6.7.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:41f2952231456154ee479651491e94118229844dd7226541788be783be2b5108"}, - {file = "multidict-6.7.1-cp313-cp313t-win32.whl", hash = "sha256:df9f19c28adcb40b6aae30bbaa1478c389efd50c28d541d76760199fc1037c32"}, - {file = "multidict-6.7.1-cp313-cp313t-win_amd64.whl", hash = "sha256:d54ecf9f301853f2c5e802da559604b3e95bb7a3b01a9c295c6ee591b9882de8"}, - {file = "multidict-6.7.1-cp313-cp313t-win_arm64.whl", hash = "sha256:5a37ca18e360377cfda1d62f5f382ff41f2b8c4ccb329ed974cc2e1643440118"}, - {file = "multidict-6.7.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8f333ec9c5eb1b7105e3b84b53141e66ca05a19a605368c55450b6ba208cb9ee"}, - {file = "multidict-6.7.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:a407f13c188f804c759fc6a9f88286a565c242a76b27626594c133b82883b5c2"}, - {file = "multidict-6.7.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0e161ddf326db5577c3a4cc2d8648f81456e8a20d40415541587a71620d7a7d1"}, - {file = "multidict-6.7.1-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:1e3a8bb24342a8201d178c3b4984c26ba81a577c80d4d525727427460a50c22d"}, - {file = "multidict-6.7.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:97231140a50f5d447d3164f994b86a0bed7cd016e2682f8650d6a9158e14fd31"}, - {file = "multidict-6.7.1-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6b10359683bd8806a200fd2909e7c8ca3a7b24ec1d8132e483d58e791d881048"}, - {file = "multidict-6.7.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:283ddac99f7ac25a4acadbf004cb5ae34480bbeb063520f70ce397b281859362"}, - {file = "multidict-6.7.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:538cec1e18c067d0e6103aa9a74f9e832904c957adc260e61cd9d8cf0c3b3d37"}, - {file = "multidict-6.7.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7eee46ccb30ff48a1e35bb818cc90846c6be2b68240e42a78599166722cea709"}, - {file = "multidict-6.7.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fa263a02f4f2dd2d11a7b1bb4362aa7cb1049f84a9235d31adf63f30143469a0"}, - {file = "multidict-6.7.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:2e1425e2f99ec5bd36c15a01b690a1a2456209c5deed58f95469ffb46039ccbb"}, - {file = "multidict-6.7.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:497394b3239fc6f0e13a78a3e1b61296e72bf1c5f94b4c4eb80b265c37a131cd"}, - {file = "multidict-6.7.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:233b398c29d3f1b9676b4b6f75c518a06fcb2ea0b925119fb2c1bc35c05e1601"}, - {file = "multidict-6.7.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:93b1818e4a6e0930454f0f2af7dfce69307ca03cdcfb3739bf4d91241967b6c1"}, - {file = "multidict-6.7.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:f33dc2a3abe9249ea5d8360f969ec7f4142e7ac45ee7014d8f8d5acddf178b7b"}, - {file = "multidict-6.7.1-cp314-cp314-win32.whl", hash = "sha256:3ab8b9d8b75aef9df299595d5388b14530839f6422333357af1339443cff777d"}, - {file = "multidict-6.7.1-cp314-cp314-win_amd64.whl", hash = "sha256:5e01429a929600e7dab7b166062d9bb54a5eed752384c7384c968c2afab8f50f"}, - {file = "multidict-6.7.1-cp314-cp314-win_arm64.whl", hash = "sha256:4885cb0e817aef5d00a2e8451d4665c1808378dc27c2705f1bf4ef8505c0d2e5"}, - {file = "multidict-6.7.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:0458c978acd8e6ea53c81eefaddbbee9c6c5e591f41b3f5e8e194780fe026581"}, - {file = "multidict-6.7.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:c0abd12629b0af3cf590982c0b413b1e7395cd4ec026f30986818ab95bfaa94a"}, - {file = "multidict-6.7.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:14525a5f61d7d0c94b368a42cff4c9a4e7ba2d52e2672a7b23d84dc86fb02b0c"}, - {file = "multidict-6.7.1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:17307b22c217b4cf05033dabefe68255a534d637c6c9b0cc8382718f87be4262"}, - {file = "multidict-6.7.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7a7e590ff876a3eaf1c02a4dfe0724b6e69a9e9de6d8f556816f29c496046e59"}, - {file = "multidict-6.7.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:5fa6a95dfee63893d80a34758cd0e0c118a30b8dcb46372bf75106c591b77889"}, - {file = "multidict-6.7.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a0543217a6a017692aa6ae5cc39adb75e587af0f3a82288b1492eb73dd6cc2a4"}, - {file = "multidict-6.7.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f99fe611c312b3c1c0ace793f92464d8cd263cc3b26b5721950d977b006b6c4d"}, - {file = "multidict-6.7.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9004d8386d133b7e6135679424c91b0b854d2d164af6ea3f289f8f2761064609"}, - {file = "multidict-6.7.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e628ef0e6859ffd8273c69412a2465c4be4a9517d07261b33334b5ec6f3c7489"}, - {file = "multidict-6.7.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:841189848ba629c3552035a6a7f5bf3b02eb304e9fea7492ca220a8eda6b0e5c"}, - {file = "multidict-6.7.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:ce1bbd7d780bb5a0da032e095c951f7014d6b0a205f8318308140f1a6aba159e"}, - {file = "multidict-6.7.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b26684587228afed0d50cf804cc71062cc9c1cdf55051c4c6345d372947b268c"}, - {file = "multidict-6.7.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:9f9af11306994335398293f9958071019e3ab95e9a707dc1383a35613f6abcb9"}, - {file = "multidict-6.7.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b4938326284c4f1224178a560987b6cf8b4d38458b113d9b8c1db1a836e640a2"}, - {file = "multidict-6.7.1-cp314-cp314t-win32.whl", hash = "sha256:98655c737850c064a65e006a3df7c997cd3b220be4ec8fe26215760b9697d4d7"}, - {file = "multidict-6.7.1-cp314-cp314t-win_amd64.whl", hash = "sha256:497bde6223c212ba11d462853cfa4f0ae6ef97465033e7dc9940cdb3ab5b48e5"}, - {file = "multidict-6.7.1-cp314-cp314t-win_arm64.whl", hash = "sha256:2bbd113e0d4af5db41d5ebfe9ccaff89de2120578164f86a5d17d5a576d1e5b2"}, - {file = "multidict-6.7.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:65573858d27cdeaca41893185677dc82395159aa28875a8867af66532d413a8f"}, - {file = "multidict-6.7.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c524c6fb8fc342793708ab111c4dbc90ff9abd568de220432500e47e990c0358"}, - {file = "multidict-6.7.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:aa23b001d968faef416ff70dc0f1ab045517b9b42a90edd3e9bcdb06479e31d5"}, - {file = "multidict-6.7.1-cp39-cp39-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:6704fa2b7453b2fb121740555fa1ee20cd98c4d011120caf4d2b8d4e7c76eec0"}, - {file = "multidict-6.7.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:121a34e5bfa410cdf2c8c49716de160de3b1dbcd86b49656f5681e4543bcd1a8"}, - {file = "multidict-6.7.1-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:026d264228bcd637d4e060844e39cdc60f86c479e463d49075dedc21b18fbbe0"}, - {file = "multidict-6.7.1-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0e697826df7eb63418ee190fd06ce9f1803593bb4b9517d08c60d9b9a7f69d8f"}, - {file = "multidict-6.7.1-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bb08271280173720e9fea9ede98e5231defcbad90f1624bea26f32ec8a956e2f"}, - {file = "multidict-6.7.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c6b3228e1d80af737b72925ce5fb4daf5a335e49cd7ab77ed7b9fdfbf58c526e"}, - {file = "multidict-6.7.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:3943debf0fbb57bdde5901695c11094a9a36723e5c03875f87718ee15ca2f4d2"}, - {file = "multidict-6.7.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:98c5787b0a0d9a41d9311eae44c3b76e6753def8d8870ab501320efe75a6a5f8"}, - {file = "multidict-6.7.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:08ccb2a6dc72009093ebe7f3f073e5ec5964cba9a706fa94b1a1484039b87941"}, - {file = "multidict-6.7.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:eb351f72c26dc9abe338ca7294661aa22969ad8ffe7ef7d5541d19f368dc854a"}, - {file = "multidict-6.7.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ac1c665bad8b5d762f5f85ebe4d94130c26965f11de70c708c75671297c776de"}, - {file = "multidict-6.7.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1fa6609d0364f4f6f58351b4659a1f3e0e898ba2a8c5cac04cb2c7bc556b0bc5"}, - {file = "multidict-6.7.1-cp39-cp39-win32.whl", hash = "sha256:6f77ce314a29263e67adadc7e7c1bc699fcb3a305059ab973d038f87caa42ed0"}, - {file = "multidict-6.7.1-cp39-cp39-win_amd64.whl", hash = "sha256:f537b55778cd3cbee430abe3131255d3a78202e0f9ea7ffc6ada893a4bcaeea4"}, - {file = "multidict-6.7.1-cp39-cp39-win_arm64.whl", hash = "sha256:749aa54f578f2e5f439538706a475aa844bfa8ef75854b1401e6e528e4937cf9"}, - {file = "multidict-6.7.1-py3-none-any.whl", hash = "sha256:55d97cc6dae627efa6a6e548885712d4864b81110ac76fa4e534c03819fa4a56"}, - {file = "multidict-6.7.1.tar.gz", hash = "sha256:ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d"}, + {file = "multidict-6.8.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c0fe437a6d2f36aac2b49517057776575b5bf359df314cca20d230a6e139c089"}, + {file = "multidict-6.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f3a0a31189acf6703307397c6139ddabd734c20c5ef92649fc93e473df6615a3"}, + {file = "multidict-6.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c9c98d2f0126ba84cb45601eed97ff67ff767e19ae6eb3c31b02827b54d700e5"}, + {file = "multidict-6.8.0-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:7bc7003991ebd368a20d05228137a37b3d3066751f3ea1e4f7b8efe8e752f2f5"}, + {file = "multidict-6.8.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c2c5fd0fd39574ccd58e1a52565b341aff522c5c836f1b3eb7605c371e61f52c"}, + {file = "multidict-6.8.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b1cd4d66ce894a45482e1ac2837c31d0bd447df35065e542b60055aa2d00404b"}, + {file = "multidict-6.8.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7a2573d0fd34f361a4a14e54d8cda3a91ac4e55fbf0d719698024f3b09c5b147"}, + {file = "multidict-6.8.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:edda19aff836ec515caafc09ea53d2ab144a041f09ee9a7cefcbd3ae4e976256"}, + {file = "multidict-6.8.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e418ec99574ca24365ca96546af285c2b021a1a072478a79f0e3cc3b08837154"}, + {file = "multidict-6.8.0-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:11d71490bf4bbff1141b14b93af419ad68c56b60bea9277fcb3f94dcca4796eb"}, + {file = "multidict-6.8.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e8e1e895e23818d343e4ae7dd95a0a556fdeaf8b471acf1c0a39b93c6f54d478"}, + {file = "multidict-6.8.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:15db8e6cab5f4cc9241bc56e69fdf3452cf49c10ee3c7977c742e68a275b3786"}, + {file = "multidict-6.8.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:8dc2d9c3a924ed14166e63650b2cf9f59e7821743bdd50b23802bd97ca09bde5"}, + {file = "multidict-6.8.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f2fa3d3b1c933d4bcb8fd2018700d5e7235c52f2ab8c88d22286965c5c0f00f8"}, + {file = "multidict-6.8.0-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:d6dc7804c50fabd28644d4d18a4b20aad3681b3e64f3acd3182b330ca73f7a32"}, + {file = "multidict-6.8.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:0eca15d627e942ce186a935061f1568cc46c02e97c419c8da802df2be9f917d8"}, + {file = "multidict-6.8.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d7e5ba0a0153e35fbce9c51df530c8b4cb0c3012b46a04ff9a048441a269c2ed"}, + {file = "multidict-6.8.0-cp310-cp310-win32.whl", hash = "sha256:b7e62b8fc7bd6cad007b9f2e0ad9c8d4854c06350d5f51e1a439dd18b510ecac"}, + {file = "multidict-6.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:dc911ae6152e455b16a2a1a626aa6cd612fa01efb9d0a4ab3f5cf328b911483d"}, + {file = "multidict-6.8.0-cp310-cp310-win_arm64.whl", hash = "sha256:6300d5176647145ba1e22991c924fb29743e54b4d7b8bc85a0d3ec0e55e189cb"}, + {file = "multidict-6.8.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1b8986d4313dcee7c932837d16a535f1840b827bac1ea7c5c4c80751d0423794"}, + {file = "multidict-6.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2622fe114c0bd66ca5c461859357587f5a5e35ee5ff49fc5643d1bc78dbb41c6"}, + {file = "multidict-6.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:26a7aafc992e78872e2c8c1f7248c0e01139cf9020a7781b0c064fa566832712"}, + {file = "multidict-6.8.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:05c2e90c5289c5f7436ba2c25812a5fbdaa1c1bc11c8d8d3bbf64f5cd7c633dd"}, + {file = "multidict-6.8.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7941ef106ca1f2c62314a13c7ed913bcf49641f3efdc12864d588e17870920ac"}, + {file = "multidict-6.8.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a5a7ee1217949ddd43c6b7bcf70d5c22193bb50e8c695386de5905325e93ce9f"}, + {file = "multidict-6.8.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6b62b7e0025aa48dec11e125e655d1157985a5fdcec04b1ad500101ad072b891"}, + {file = "multidict-6.8.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ea880d441be7c510106bc56064be39266d948aef94ad4955e8784690019a5d9f"}, + {file = "multidict-6.8.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ab83fdd8cf307353edba9c427c17a3a021c2522d690f5633dd9f72d28b48ccca"}, + {file = "multidict-6.8.0-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3d1f48582686a0a3b81e9b43234766cc96697df72081af3f48107bd3f34d34e5"}, + {file = "multidict-6.8.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:563661919f603374c40cf45ffcd25535c12b8954203569a2ab1cee5265871cf4"}, + {file = "multidict-6.8.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:2ba9933e8f35fe4a70f540b837254c4055da82dc3a9e500a8f95e61498083a15"}, + {file = "multidict-6.8.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:68d40b2bace413f3231f5729d3fcfb1837fd31c4907e241b5d43211bfd76f3c2"}, + {file = "multidict-6.8.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a9e246f67ac038568b854ed7c5578e4c6af1f742359901a8fcc3603ff1358df6"}, + {file = "multidict-6.8.0-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:29b6e7bc4442a56cf8e0dc1cabf3fdc77cd533568d6829fc76a1effd2ce332ec"}, + {file = "multidict-6.8.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:82780eb8bf59e8fb25dd081fde6e058805045d6374a7f2f877effc826ca4434b"}, + {file = "multidict-6.8.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:2196ba6df392c3574acadd14ef87550f3611349c8618564de324b806a7a31cee"}, + {file = "multidict-6.8.0-cp311-cp311-win32.whl", hash = "sha256:b8b7aa75146266fd3e2a2437cf69ae188688c04ab8665b163d4257b46c1e0c83"}, + {file = "multidict-6.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:b03ca066b47b18b205cc080dca6f76cbd159f8cdd33a02a0700164c13b37e463"}, + {file = "multidict-6.8.0-cp311-cp311-win_arm64.whl", hash = "sha256:54af1266710cb0f305127ae0b970aff8d208057f8a29cd6e1db99b0114947035"}, + {file = "multidict-6.8.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:22a310ad37672a261e55a8b5e28d0ae08cfb68abb1f46418ccd19835c3b8e836"}, + {file = "multidict-6.8.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:bb8c7da8c861391f7ae48e3593762be2dabe405109e01aec520fbe1a6d15d14b"}, + {file = "multidict-6.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:10456943903744ae1249728161c96bd9d2f7eb5ee17fcc2ffda2dc32e1bb36c7"}, + {file = "multidict-6.8.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:658f5a1895b804423d97b22d06fc0d0b171c7c01dcc3aa9c8faf0c0e26a249a5"}, + {file = "multidict-6.8.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:90c10b22860dbd09982d0b8993b66231a861bea2993d4a817ff35273f6ea285a"}, + {file = "multidict-6.8.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:088b04a66b3c1fce6fe4d771ec184a0426262d0b86709c908477b4ac7965df40"}, + {file = "multidict-6.8.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9caef53b20a105c0d66518a34be2f71b2783de8d091767575ef86f6ea422236d"}, + {file = "multidict-6.8.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a5e1583c14775580da05641240ce0d93f36ce3ddef3d5083a827468b0bcfe874"}, + {file = "multidict-6.8.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:003a3bddb32915c3f67096ea41d24e53edf710edb65a1f5d0c70ab40b0e4d20b"}, + {file = "multidict-6.8.0-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:35977263d9bf506dbc65349f63b3b8c91606d4abc110990945e3b94bc671319c"}, + {file = "multidict-6.8.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e9dc7b4ff6ef184504b49ef9a4113d49a646653b2ce89f5f48c1f57cdf6ba081"}, + {file = "multidict-6.8.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:887f9a975996032c686719eb7b3e1e7942fab5079c2b778bbd9afe9a9d78244f"}, + {file = "multidict-6.8.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:f3071e6515cc63714d014da8f738ae9fa3997c476203f3cd46de380c2376ed7b"}, + {file = "multidict-6.8.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c5f3a2af441670d80ce5fdf13b6c1b421fc1fc7fc5182d58ac7486738bb2b742"}, + {file = "multidict-6.8.0-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:31e8901637e20ccb3cf8f8848b5d0f7a00462bf5b34f7cf3dcbb2753b18e8b39"}, + {file = "multidict-6.8.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:13967dca8b2f33230a1427b52438326bb1c9101a1df22a3309ed3fcbbb3c96f0"}, + {file = "multidict-6.8.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad474c11d851b6fc97cb625e4822bc0cbd567fc07dc2602e28faec5a36b42bbb"}, + {file = "multidict-6.8.0-cp312-cp312-win32.whl", hash = "sha256:7bb0dad75068fee80fcb60f88569722c199d8656a16706702dc6e3b786819c90"}, + {file = "multidict-6.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:7d26dc8f070c0ec5579e987fa615ffd6883086106eefdff9e10d160fc5630630"}, + {file = "multidict-6.8.0-cp312-cp312-win_arm64.whl", hash = "sha256:e6ec7d37841609a691b96a10b4fde386c7cd93ebbb939f59c9f23325ee788395"}, + {file = "multidict-6.8.0-cp313-cp313-android_24_x86_64.whl", hash = "sha256:ec0a4d066356054d569a66e0a94691a2058b680be5e710298f61db11a3c4609f"}, + {file = "multidict-6.8.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:714597cb5d5e15a8a449d2ae23c45b486a9e8fa33c462c7a33d7f35b65d92943"}, + {file = "multidict-6.8.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:e0db3a4d1e264e225037a6023888972c25206a96e016021a5bea41c9a939f2a9"}, + {file = "multidict-6.8.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:27747162712e85c84598d364425dbf1714ff335bdb6ba3171c4e5081196e8916"}, + {file = "multidict-6.8.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:847d6082ae694dc95e548acb201bc100e1cfa96513bc71fdcb86f709dad6c435"}, + {file = "multidict-6.8.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:88a6df88567680504ae28bfa7a1f2f64243d91e79a40b2c92ef42efc531e23da"}, + {file = "multidict-6.8.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:560b211fc3bd4a1e1c6de44f6d38113bf5b410dfc89a4c0d2a3c0edbf1a0dfb8"}, + {file = "multidict-6.8.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:202436df907c15adbb94360296c425ea53cf8968a5d2cff9b5b9790ae1972b33"}, + {file = "multidict-6.8.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c46a08bf070d6849fed483e9d9833f9d06aecb8382ed985be0b38508b3ae958e"}, + {file = "multidict-6.8.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2cd560498ae8e1bcc955643c1d78eb8e338226d07a983c656ea8c4443d3eec0f"}, + {file = "multidict-6.8.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:758233648ac47b07c575224c4eadd73c8929c3b4c31e2afcfea935fde1cda735"}, + {file = "multidict-6.8.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:122adc7c46ac1e31ecfc7f81b2530533dccafdba70f5d741649f87e336c63384"}, + {file = "multidict-6.8.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8125e60f3c70e323ac07dd8b3635f7b3bbc5c3a9ac04ae5988f668ff7ae28a18"}, + {file = "multidict-6.8.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:83ff054b04915be5c15680da6c6012474a2cc2bf534129a0e8c6a99f17ba7238"}, + {file = "multidict-6.8.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:930c6058047410e3edff445f5a6e4457f2e089042dede00e2d18ce06f3ceae2e"}, + {file = "multidict-6.8.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:13e26f59f0eecfc5f67c663ad550ffdaf62c0f657547cde387f6c86af1c9449e"}, + {file = "multidict-6.8.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:fd789a294d8e098528be29b2669b83005ce569339f8cef167fc0274c3115c34c"}, + {file = "multidict-6.8.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:3126f2a96704505aa4e92a72d6e8a5d7f29d40a987ced8bf69e29d71dfc71fbc"}, + {file = "multidict-6.8.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:23c9ee89967b6a9b4048acb3b93b660ed714ce9c8bf3bbe652959bc120dc02dc"}, + {file = "multidict-6.8.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7a62e302fc8cd6aa8972207e7e951d1fdee7c1dda18568305041d19f0e2c00f5"}, + {file = "multidict-6.8.0-cp313-cp313-win32.whl", hash = "sha256:093167d22a8c95af30f597b8a5686f20a14512989942d4be804d119899caca20"}, + {file = "multidict-6.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:f25b61a708bd276e8cbb6afcbbf1b8e793a3be70ba0a842d0b8692020f83b706"}, + {file = "multidict-6.8.0-cp313-cp313-win_arm64.whl", hash = "sha256:bb36381e1f9f9d06eba2f10bdd438e5d20c07d5b55e1a3eee30b9f44cbf52316"}, + {file = "multidict-6.8.0-cp314-cp314-android_24_x86_64.whl", hash = "sha256:f8b09b25e0f4dc2ea9e2adbb1cc3ba11a94d6fa3dd978ae659c8743052e1afbc"}, + {file = "multidict-6.8.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:1f57c414be82490bc0e0305fdb834186229b2d9b6a35fa0afd1eb1a772d125ab"}, + {file = "multidict-6.8.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:00be37bde741bf60871082cd347a093218c44886e99231b7516671c70f2c280d"}, + {file = "multidict-6.8.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:e37b744849fb631bb52e3dadde35ffeee365a6c41cf71257b5b7acc9cd83fd38"}, + {file = "multidict-6.8.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:c2b2a96cf1dd99fe7867be4c013314225f4d5786e6685906e29932d42aca6f11"}, + {file = "multidict-6.8.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:bea7df027015856ba5d0a88e3b4777ff8cb5c66b58fc108050fe79d4dd9d4d2d"}, + {file = "multidict-6.8.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:d3da668e903c934ed0b587ecacfed6901f6ae6384a6e975887592b61845e78bc"}, + {file = "multidict-6.8.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:64eaeda36ee8d88f9e8616a587a8c66a663283cf6e0dcf013c1ddd8c758e4aef"}, + {file = "multidict-6.8.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:ac746cb365bac1c462da9e3e6ab8904a8efe2217a56b0b2e3d9480f41d2b2602"}, + {file = "multidict-6.8.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:18f0e06360c3e451a3ab800355773c8d125a758238d780c800b0ee5e90ee903c"}, + {file = "multidict-6.8.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:69708fecaa88bcb2341397b49fc95057a835b02a3670c551b37f95dd79e64e3a"}, + {file = "multidict-6.8.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9606f583e7acaf61e7b3f56074e14037b9af7cb194590edfc0114b3ae5931ff7"}, + {file = "multidict-6.8.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1f66fe6a021173d0d47968491791966b9f3e6d61115f2491744aa0c07a6e67af"}, + {file = "multidict-6.8.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:be007d1aee2cbd530347dcafedb400891a3b5f1bd7135f95cf5d5b330b5219ee"}, + {file = "multidict-6.8.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:8457aff3c12a89a8e1c4674de5c777857fbc429f40fe117a3d29538547cbc364"}, + {file = "multidict-6.8.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:95c27b4f3f04320fc44e338573f40c5c956b504a7fcf081a157fd0b02579311c"}, + {file = "multidict-6.8.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:d244cf6b52b5ba1c34c3832f4652a668ebb36d95949b96eed9a1c54d916a90dd"}, + {file = "multidict-6.8.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:5bbbb696c8024475b1877d14ce20d5f1cc05b8f6d786cea0fe3aa7fedc02e891"}, + {file = "multidict-6.8.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:cbd86f9787c5e2f5fd27d8b21458222f107347c6731c4e93dde68f554b466a2d"}, + {file = "multidict-6.8.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2f8a4b0b4d639d525928c7f30de527bfdf9ead6e44a5e8cb9c50aced5e4590cb"}, + {file = "multidict-6.8.0-cp314-cp314-win32.whl", hash = "sha256:8890c89d662560e51c55ac1304d6f919b23942abe9ae1127cb1de9aa6132fa52"}, + {file = "multidict-6.8.0-cp314-cp314-win_amd64.whl", hash = "sha256:45cc39ba50fb0754a4359b90f8229ae08598fe2266abe3521b4e5a9ba916534a"}, + {file = "multidict-6.8.0-cp314-cp314-win_arm64.whl", hash = "sha256:d0264f8d5cb0a803f650a6a8572dfa0cd1e099a2234c588dc8fb220b415b865f"}, + {file = "multidict-6.8.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:1969971900b0871530f9b62280dcc2d75688e74d2a69262bc01faf2b96c78f04"}, + {file = "multidict-6.8.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:8180b635290a75af8478f1b3e9810135381ae24833293fe77b85c1c21ff842ab"}, + {file = "multidict-6.8.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:4261863fc8b5ab1b815ede94e592e94c6af5b04616014929057e61859e7382a9"}, + {file = "multidict-6.8.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:0b143d53590e89f43153d81d505a8448d4d57354354385aef8a51d67ffefa27e"}, + {file = "multidict-6.8.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:da1c112c5784ccd9d32cd90be6739fee32644e874eff6ae8f0497cba3e352e58"}, + {file = "multidict-6.8.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:f7eefd0233a7c33ca980a5cfef26f1e9b5e2137839e752a99963696729f12d91"}, + {file = "multidict-6.8.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:348bb85e2038b40c007383616d73f734869063772372519549ebd7da1723d1a4"}, + {file = "multidict-6.8.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:095f62ea4e7a3be2f6c567ab695ce10e950f2adb905c1bec82281593e0b2d2ad"}, + {file = "multidict-6.8.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:be569fff1d85cd29391c431c5641c8772acb75bbdc61e60a8e82fceb9023d385"}, + {file = "multidict-6.8.0-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3533a03e4e789baf6a286e7b0b1b6da3f3d7c3eab569686ee29ee1d8b52e2cb4"}, + {file = "multidict-6.8.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:1bdb9b8fba5a9aef673ec90db3f55b1ce743f2fbdea4d37dc04d14ccdfc153ff"}, + {file = "multidict-6.8.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:f8d7b66c9e09c0bb0add2b5895e646b62a0849e71155066f215523de6b95cbe6"}, + {file = "multidict-6.8.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:563d6500ca80dac7bba6f48a78e0ffd87e21a7d4d24642c6503a2ddccd70c110"}, + {file = "multidict-6.8.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:346ac52e56bcda320c0dcdfdd081947ed7cada33afea4e2284bef7b0733bff9b"}, + {file = "multidict-6.8.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:4ee953a5ebaeed38dc21cc032ed17a9d9782802e00042200497ab4b01b0bf7c0"}, + {file = "multidict-6.8.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:2f79cc3e8039a8cf5c77e0811b0807953fd52d0863b9b76970b20d696dc64a78"}, + {file = "multidict-6.8.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:43a4b56555bbcf8af161e7c7682bd93eec10f068c95844511864c018c8e5e13b"}, + {file = "multidict-6.8.0-cp314-cp314t-win32.whl", hash = "sha256:48ea524a25a1cd5972cf293bc95713918cba0bcd6fa9b992d906c857c546abe2"}, + {file = "multidict-6.8.0-cp314-cp314t-win_amd64.whl", hash = "sha256:d0be2b832435001bc623ca7f1499ca1a853d4f082fb61221a80ce71132f50b26"}, + {file = "multidict-6.8.0-cp314-cp314t-win_arm64.whl", hash = "sha256:62b8e291a4f7edbf7cde7a43d831d893ba443a1b627498b53581943b0e348feb"}, + {file = "multidict-6.8.0-cp315-cp315-android_24_x86_64.whl", hash = "sha256:e192018b732f7b168e6604cbdf40fa8e05c996693b9eb445a0d8a73f4b77c5d3"}, + {file = "multidict-6.8.0-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:b25426f9f6ed402835617c8f23609a47045f91ecff365eb6734817e039a8ed25"}, + {file = "multidict-6.8.0-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:fa6c2880709c84457de104385b704fc28860f27e442ad13966fc4af8e714fe9c"}, + {file = "multidict-6.8.0-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:eabb03dc3e4ed6333ecd1cc9826ec80e7a98b5506deeb832d7260c8e44166d23"}, + {file = "multidict-6.8.0-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:59e539c4eb4d3a53b0e630a6ba2b2f2824732b5e73f90e30a280f12fde157b15"}, + {file = "multidict-6.8.0-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:835d5a90b11d1f5f8200ff3cc8316bded76eebebc92436398947a27657e645e7"}, + {file = "multidict-6.8.0-cp315-cp315-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:d2d236b8a44ae91536a12ebcb996bdb31cf27425f36b4d05c87f2ba2716050ba"}, + {file = "multidict-6.8.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bb9a60b7faa5d37c426fa91cf4d6738182a1f2755b9fab7c9c64cd466c4ce51e"}, + {file = "multidict-6.8.0-cp315-cp315-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0ef606c15cac6c90279acf34120784b6f36662cbf382defd3955cd8f1115336b"}, + {file = "multidict-6.8.0-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:68186a2d4051c8ffd17be33553bea2ec9bbc8ef860fe2980a221d96126296f31"}, + {file = "multidict-6.8.0-cp315-cp315-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2cc66abb85e2108c9ff8a1c0d20fa260bf690bbb33caef4ff3ecb2c2cbdfff5d"}, + {file = "multidict-6.8.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:69b3e519a132bb943b0daae15fc8c2168706b17f826481d32a32a5e784b129e3"}, + {file = "multidict-6.8.0-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e41226ecf607f062fe34a2f4cf64ad3a89e3a0180dc800b463b6b14c06dd10dc"}, + {file = "multidict-6.8.0-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:610c7637bc36b90f39e6c66f710f93d57018f83d53e1e187caaa218c6892b95f"}, + {file = "multidict-6.8.0-cp315-cp315-musllinux_1_2_armv7l.whl", hash = "sha256:65c85c79f5a2c04fbbc18f006c014674dc5fdf270cb978d8862c82c6f694e60c"}, + {file = "multidict-6.8.0-cp315-cp315-musllinux_1_2_i686.whl", hash = "sha256:628ff11e6720f90acd0c305dfa3339f04a783a20de8cda6ac333ba46447261e8"}, + {file = "multidict-6.8.0-cp315-cp315-musllinux_1_2_ppc64le.whl", hash = "sha256:0935971bffd0b479fc90c4811ca787703e93fcb6afea939a375dfc80285ab368"}, + {file = "multidict-6.8.0-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:9442b14eec262a1f74369bbd07e75bc5155105164649a4b9fbc1ebc7b8fb0b14"}, + {file = "multidict-6.8.0-cp315-cp315-musllinux_1_2_s390x.whl", hash = "sha256:397599503b718f0137f26d3f6532d6955069cd2e5917c47ef581495bc2529ff8"}, + {file = "multidict-6.8.0-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:9e37024b41d7a7e7e9cce14b248d54707c21c2a2ea30a47b71bdcefcafec00f2"}, + {file = "multidict-6.8.0-cp315-cp315-win32.whl", hash = "sha256:071da134651b04a8507dfb331ac0988f376337c2aea59486bf20989fb5b5a64e"}, + {file = "multidict-6.8.0-cp315-cp315-win_amd64.whl", hash = "sha256:3bafff8598f0528017ddc74194e5451d5c22d046c98935f8f86247b0f286e4f8"}, + {file = "multidict-6.8.0-cp315-cp315-win_arm64.whl", hash = "sha256:e886ef8c9879105fe4fc99417447b3a5f35d1131412ce839470bd2089fe2043f"}, + {file = "multidict-6.8.0-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:883284137e25318ed9735b742ae46341a864888fae28e8b6314c4f84da080f08"}, + {file = "multidict-6.8.0-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:ca52b9ec80851366197577154c862c4c4c7036ca76ae94cef5cb59c5cfeab944"}, + {file = "multidict-6.8.0-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:91fa75d0a693832106d98f66c849f034f21c828d14437f1fb97d3784aab89e84"}, + {file = "multidict-6.8.0-cp315-cp315t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:307c1acd812fe897e7fbe10c6758822e8c04be4e7c60a9f54901cdf8b5ab8bc3"}, + {file = "multidict-6.8.0-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5caf684986a2490628f059a99dd107b566a2d34cf947f8eb8387e0500a1f90c5"}, + {file = "multidict-6.8.0-cp315-cp315t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:77745725125d01fd613b6db043362aa7c6bfbfdb23d45dbfc3d92bf58160af62"}, + {file = "multidict-6.8.0-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8daafaa0b2eb43f76898ced78b1e0fb91b38c4fa50da516c18067f2a2d578c20"}, + {file = "multidict-6.8.0-cp315-cp315t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c68e0c0649d17c2d0339e3674e86a4aeba4a7e6b21c1e394cf947a95433b31d0"}, + {file = "multidict-6.8.0-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d8a5ac357ac283490a8d1899b0383355fd1f8634b14ba0d59e4c0dd97db85556"}, + {file = "multidict-6.8.0-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:46029e6e27a3ec0dc55b53f58df82d10f04c5e111f78248279b530bedad2c30a"}, + {file = "multidict-6.8.0-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:8d1046b5427dcafe6e8a0e07527dd74f1ee694006160162f53f3a17f15aad3b4"}, + {file = "multidict-6.8.0-cp315-cp315t-musllinux_1_2_armv7l.whl", hash = "sha256:f1f4a220db6ed7c8fd16b6d644ffd1f082651693204daf3275e049fadc849e39"}, + {file = "multidict-6.8.0-cp315-cp315t-musllinux_1_2_i686.whl", hash = "sha256:029897732a9c798737457e382bf84e8c64237eff224a90aea2639f4413c45e4e"}, + {file = "multidict-6.8.0-cp315-cp315t-musllinux_1_2_ppc64le.whl", hash = "sha256:29be9fd289e9ab8f480996ea2f686e1654b80242033843cb11691688329423f1"}, + {file = "multidict-6.8.0-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:29631224698de1e42abc8fa7658d830e0aed0029785144b5832b695da5adef2f"}, + {file = "multidict-6.8.0-cp315-cp315t-musllinux_1_2_s390x.whl", hash = "sha256:962f18c59a000f30b084ea2e6b8001521bb315efd4e5f10acf9fb36f366b7882"}, + {file = "multidict-6.8.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:c60e50bc5b07faac92fd3a20fa21cc8cf3e3f7204d2867b206c73293ebc19101"}, + {file = "multidict-6.8.0-cp315-cp315t-win32.whl", hash = "sha256:fc5460940f50dff00731b4132366840ba9685286ea88ea104b661899084f3fea"}, + {file = "multidict-6.8.0-cp315-cp315t-win_amd64.whl", hash = "sha256:b367c342327717d644db4c0ddb37ceb655c84822215ea0773a3a36911b74b71d"}, + {file = "multidict-6.8.0-cp315-cp315t-win_arm64.whl", hash = "sha256:0c1c4debad7337627b86837abdf0237ca3cb3d7e17de7eab0177c263878546d4"}, + {file = "multidict-6.8.0-py3-none-any.whl", hash = "sha256:75daa15ca16d6285eb2e104b2f05ee6f8d9836c68da3ce5c85f615a0450eed0e"}, + {file = "multidict-6.8.0.tar.gz", hash = "sha256:5cd4637ce76312ba1e05eb9c5193fec231f64fee0944e135fa1e951242355b37"}, ] [package.dependencies] diff --git a/reference.md b/reference.md index bdb65906..4094658d 100644 --- a/reference.md +++ b/reference.md @@ -7296,7 +7296,7 @@ client.apps.create(
-Retrieves an app by ID, claimed route, or proxy domain id. Credential fields (api_key, default_api_key, secrets) render `null` unless the caller has the corresponding developer permission on the owning account. +Retrieves an app by ID, claimed route, active verified custom hostname, or proxy domain id. Custom hostnames return 404 for inactive assignments, suspended accounts, or deleted apps. Credential fields (api_key, default_api_key, secrets) render `null` unless the caller has the corresponding developer permission on the owning account.
@@ -7337,7 +7337,7 @@ client.apps.retrieve(
-**id:** `str` — App ID (prefixed `app_`), the app's claimed route, or its proxy domain id. +**id:** `str` — App ID (prefixed `app_`). Retrieval also accepts the app's claimed route, an active verified custom hostname, or its proxy domain id.
@@ -7410,7 +7410,7 @@ client.apps.delete(
-**id:** `str` — App ID (prefixed `app_`), the app's claimed route, or its proxy domain id. +**id:** `str` — App ID (prefixed `app_`). Retrieval also accepts the app's claimed route, an active verified custom hostname, or its proxy domain id.
@@ -7483,7 +7483,7 @@ client.apps.update(
-**id:** `str` — App ID (prefixed `app_`), the app's claimed route, or its proxy domain id. +**id:** `str` — App ID (prefixed `app_`). Retrieval also accepts the app's claimed route, an active verified custom hostname, or its proxy domain id.
@@ -16036,6 +16036,483 @@ client.dm_members.update( + + + + +## Domains +
client.domains.list(...) -> ListDomainsResponse +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Lists the caller's domain claims and assignments. Filter by account, app, or lifecycle status. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from whop_sdk import Whop +from whop_sdk.environment import WhopEnvironment + +client = Whop( + token="", + environment=WhopEnvironment.DEFAULT, +) + +client.domains.list() + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**account_id:** `typing.Optional[str]` — Only domains belonging to this account, prefixed biz_. + +
+
+ +
+
+ +**app_id:** `typing.Optional[str]` — Only domains assigned to this app, prefixed app_. + +
+
+ +
+
+ +**status:** `typing.Optional[ListDomainsRequestStatus]` — Only domains with this lifecycle status. + +
+
+ +
+
+ +**order:** `typing.Optional[ListDomainsRequestOrder]` — Field to sort by. + +
+
+ +
+
+ +**direction:** `typing.Optional[ListDomainsRequestDirection]` — Sort direction. + +
+
+ +
+
+ +**first:** `typing.Optional[int]` — Number of domains from the start of the page. + +
+
+ +
+
+ +**after:** `typing.Optional[str]` — Cursor for the next page. + +
+
+ +
+
+ +**last:** `typing.Optional[int]` — Number of domains from the end of the page. + +
+
+ +
+
+ +**before:** `typing.Optional[str]` — Cursor for the previous page. + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + +
+
+
+ +
client.domains.create(...) -> Domain +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Creates an unverified claim and returns DNS instructions. A claim does not reserve the hostname globally. Publish its unique TXT record; ownership verification, DNS checks, and certificate provisioning run automatically. Unverified claims are deleted after 48 hours. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from whop_sdk import Whop +from whop_sdk.environment import WhopEnvironment + +client = Whop( + token="", + environment=WhopEnvironment.DEFAULT, +) + +client.domains.create( + app_id="app_xxxxxxxxxxxxxx", + domain="store.example.com", +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**app_id:** `str` — App ID, prefixed app_. The app must belong to the account. + +
+
+ +
+
+ +**domain:** `str` — Bare hostname, such as example.com or checkout.example.com. Wildcards, paths, schemes, and ports are not accepted. + +
+
+ +
+
+ +**account_id:** `typing.Optional[str]` — Account ID, prefixed biz_. Required for user credentials; otherwise defaults to the credential's account. + +
+
+ +
+
+ +**metadata:** `typing.Optional[typing.Dict[str, str]]` — Custom string keys and values. + +
+
+ +
+
+ +**replace_existing:** `typing.Optional[bool]` — Explicitly transfer a domain from its current owner after publishing this new claim's TXT proof. Create the claim after the current owner verified. + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + +
+
+
+ +
client.domains.retrieve(...) -> Domain +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieves the claim, app assignment, DNS instructions, and the latest hostname and certificate state. For domains still connecting, needing attention, or being deleted, requests an immediate background check. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from whop_sdk import Whop +from whop_sdk.environment import WhopEnvironment + +client = Whop( + token="", + environment=WhopEnvironment.DEFAULT, +) + +client.domains.retrieve( + id="id", +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `str` — Domain ID, prefixed dom_. + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + +
+
+
+ +
client.domains.delete(...) -> Domain +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Stops resolving the domain to its app and queues Cloudflare cleanup. The response is deleting; retrieve the resource until it is removed. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from whop_sdk import Whop +from whop_sdk.environment import WhopEnvironment + +client = Whop( + token="", + environment=WhopEnvironment.DEFAULT, +) + +client.domains.delete( + id="id", +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `str` — Domain ID, prefixed dom_. + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + +
+
+
+ +
client.domains.update(...) -> Domain +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Reassigns a domain to another app in the same account or replaces its metadata. The hostname and owning account cannot be edited. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from whop_sdk import Whop +from whop_sdk.environment import WhopEnvironment + +client = Whop( + token="", + environment=WhopEnvironment.DEFAULT, +) + +client.domains.update( + id="id", +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `str` — Domain ID, prefixed dom_. + +
+
+ +
+
+ +**app_id:** `typing.Optional[str]` — App ID, prefixed app_. Must belong to the same account. + +
+
+ +
+
+ +**metadata:** `typing.Optional[typing.Dict[str, str]]` — Replacement custom string keys and values. + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ +
@@ -25645,6 +26122,14 @@ client.payments.create(
+**statement_descriptor:** `typing.Optional[str]` — Overrides the text on the buyer's card statement for this payment only. Takes precedence over the product's and account's custom descriptors, and changes neither. Must start with `WHOP*`, be 5-22 characters, contain at least one letter, and use only Latin letters, numbers, spaces, underscores, hyphens, or asterisks. + +
+
+ +
+
+ **request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -33410,7 +33895,7 @@ client.social_accounts.list()
-Creates or returns a Whop-managed Facebook page for an account. +Creates or returns a Whop-managed Facebook page or TikTok account for an account.
@@ -33451,7 +33936,7 @@ client.social_accounts.create(
-**platform:** `CreateSocialAccountsRequestPlatform` — The platform to create the social account on. `facebook` requires the account's `banner_image`, `logo`, and `description`; configure them with [Update Account](/api-reference/beta/accounts/update-account). +**platform:** `CreateSocialAccountsRequestPlatform` — The platform to create the social account on. `facebook` requires the account's `banner_image`, `logo`, and `description`, and `tiktok` requires its `logo`; configure them with [Update Account](/api-reference/beta/accounts/update-account). The account is returned before the platform has created it — its `id` is usable right away, and the rest of the profile fills in once provisioning finishes.
@@ -37288,7 +37773,7 @@ client.verifications.list(
-Starts a hosted verification session for an account or user, or returns the active session when one already exists. Any fields you include in the request body are used to prefill the session. Send `documents` (with `document_type`) to instead verify the person from identity documents included in this request — no hosted session involved. Send `share_token` to reuse a verification another Sumsub account has already completed for this person, instead of verifying them again. If the account already has an `approved` verification the request is rejected; unlink it first to start a new one. +Starts a hosted verification session for an account or user, or returns the active session when one already exists. Any fields you include in the request body are used to prefill the session. Send `documents` (with `document_type`) to instead verify the person from identity documents included in this request — no hosted session involved. Send `share_token` to reuse a verification another Sumsub account has already completed for this person, instead of verifying them again. Send `verification_id` to reuse a verification the signed-in user already completed on Whop. Every mode except `verification_id` is rejected once the account has an `approved` verification — unlink it first to start a new one — while `verification_id` replaces whichever verification of that kind the account currently has.
@@ -38567,6 +39052,14 @@ client.accounts.preferences.update(
+**cards_notifications:** `typing.Optional[bool]` — Whether Whop Card notifications reach this account's team. Set it to `false` to stop every card email and push notification for the account — application status, verification and action-required alerts, card-ready alerts, declines, large charges, and cashback summaries. Cardholder onboarding invitations still send, because they carry the only link an invited cardholder can onboard with. Requesting a card is rejected while notifications are off, since the request reaches nobody. Cards on personal accounts are unaffected. Requires a cards balance on the account. + +
+
+ +
+
+ **dispute_fighter_enabled:** `typing.Optional[bool]` — Whether Whop assembles and files the evidence response when this account's payments are disputed. Off by default; enabling it also opts the account into the success fee charged only on disputes it wins.
diff --git a/src/whop_sdk/__init__.py b/src/whop_sdk/__init__.py index dcf29673..6ce765fb 100644 --- a/src/whop_sdk/__init__.py +++ b/src/whop_sdk/__init__.py @@ -209,6 +209,8 @@ AppDeployment, AppDeploymentPhase, AppDeploymentStatus, + AppDomain, + AppDomainStatus, AppElementsUsedItem, AppIcon, AppListItem, @@ -453,6 +455,12 @@ DmsFeedMemberNotificationPreferences, DmsFeedMemberStatuses, DmsPostTypes, + Domain, + DomainDnsRecord, + DomainDnsRecordType, + DomainDnsStatus, + DomainIssue, + DomainStatus, EmbedTypes, EntriesSortableColumns, Entry, @@ -984,6 +992,7 @@ ReactionListItem, ReactionListItemUser, ReactionUser, + ReceiptLineItem, ReceiptStatus, ReceiptTaxBehaviors, ReceiptV2Order, @@ -1037,7 +1046,6 @@ ResolutionEvent, ResolutionEventAction, ResolutionEventReporterType, - ResolutionLineItem, ResolutionPayment, Review, ReviewAttachmentsItem, @@ -1213,6 +1221,7 @@ disputes, dm_channels, dm_members, + domains, entries, events, experiences, @@ -1278,6 +1287,12 @@ ListAccountsRequestStatus, ListAccountsResponse, ListAccountsResponsePageInfo, + PostAccountFinancingApprovedPayload, + PostAccountFinancingApprovedPayloadApiVersion, + PostAccountFinancingApprovedPayloadType, + PostAccountFinancingDeniedPayload, + PostAccountFinancingDeniedPayloadApiVersion, + PostAccountFinancingDeniedPayloadType, PostAccountUpdatedPayload, PostAccountUpdatedPayloadApiVersion, PostAccountUpdatedPayloadType, @@ -1835,6 +1850,13 @@ ) from .dm_channels import ListDmChannelsResponse from .dm_members import ListDmMembersResponse + from .domains import ( + ListDomainsRequestDirection, + ListDomainsRequestOrder, + ListDomainsRequestStatus, + ListDomainsResponse, + ListDomainsResponsePageInfo, + ) from .entries import ( ApproveEntriesResponse, ListEntriesResponse, @@ -2914,6 +2936,8 @@ "AppDeployment": ".types", "AppDeploymentPhase": ".types", "AppDeploymentStatus": ".types", + "AppDomain": ".types", + "AppDomainStatus": ".types", "AppElementsUsedItem": ".types", "AppIcon": ".types", "AppListItem": ".types", @@ -3458,6 +3482,12 @@ "DmsFeedMemberNotificationPreferences": ".types", "DmsFeedMemberStatuses": ".types", "DmsPostTypes": ".types", + "Domain": ".types", + "DomainDnsRecord": ".types", + "DomainDnsRecordType": ".types", + "DomainDnsStatus": ".types", + "DomainIssue": ".types", + "DomainStatus": ".types", "DuplicateAdCampaignsResponse": ".ad_campaigns", "DuplicateAdGroupsResponse": ".ad_groups", "DuplicateAdsResponse": ".ads", @@ -3756,6 +3786,11 @@ "ListDisputesResponsePageInfo": ".disputes", "ListDmChannelsResponse": ".dm_channels", "ListDmMembersResponse": ".dm_members", + "ListDomainsRequestDirection": ".domains", + "ListDomainsRequestOrder": ".domains", + "ListDomainsRequestStatus": ".domains", + "ListDomainsResponse": ".domains", + "ListDomainsResponsePageInfo": ".domains", "ListEntriesResponse": ".entries", "ListEventsRequestAttributionModel": ".events", "ListEventsRequestDirection": ".events", @@ -4308,6 +4343,12 @@ "PlanThreeDsLevels": ".types", "PlanTypes": ".types", "PlanVisibility": ".types", + "PostAccountFinancingApprovedPayload": ".accounts", + "PostAccountFinancingApprovedPayloadApiVersion": ".accounts", + "PostAccountFinancingApprovedPayloadType": ".accounts", + "PostAccountFinancingDeniedPayload": ".accounts", + "PostAccountFinancingDeniedPayloadApiVersion": ".accounts", + "PostAccountFinancingDeniedPayloadType": ".accounts", "PostAccountUpdatedPayload": ".accounts", "PostAccountUpdatedPayloadApiVersion": ".accounts", "PostAccountUpdatedPayloadType": ".accounts", @@ -4747,6 +4788,7 @@ "ReactionListItem": ".types", "ReactionListItemUser": ".types", "ReactionUser": ".types", + "ReceiptLineItem": ".types", "ReceiptStatus": ".types", "ReceiptTaxBehaviors": ".types", "ReceiptV2Order": ".types", @@ -4810,7 +4852,6 @@ "ResolutionEvent": ".types", "ResolutionEventAction": ".types", "ResolutionEventReporterType": ".types", - "ResolutionLineItem": ".types", "ResolutionPayment": ".types", "RetrieveAdCampaignsRequestAttributionModel": ".ad_campaigns", "RetrieveAdGroupsRequestAttributionModel": ".ad_groups", @@ -5252,6 +5293,7 @@ "disputes": ".disputes", "dm_channels": ".dm_channels", "dm_members": ".dm_members", + "domains": ".domains", "entries": ".entries", "events": ".events", "experiences": ".experiences", @@ -5528,6 +5570,8 @@ def __dir__(): "AppDeployment", "AppDeploymentPhase", "AppDeploymentStatus", + "AppDomain", + "AppDomainStatus", "AppElementsUsedItem", "AppIcon", "AppListItem", @@ -6072,6 +6116,12 @@ def __dir__(): "DmsFeedMemberNotificationPreferences", "DmsFeedMemberStatuses", "DmsPostTypes", + "Domain", + "DomainDnsRecord", + "DomainDnsRecordType", + "DomainDnsStatus", + "DomainIssue", + "DomainStatus", "DuplicateAdCampaignsResponse", "DuplicateAdGroupsResponse", "DuplicateAdsResponse", @@ -6370,6 +6420,11 @@ def __dir__(): "ListDisputesResponsePageInfo", "ListDmChannelsResponse", "ListDmMembersResponse", + "ListDomainsRequestDirection", + "ListDomainsRequestOrder", + "ListDomainsRequestStatus", + "ListDomainsResponse", + "ListDomainsResponsePageInfo", "ListEntriesResponse", "ListEventsRequestAttributionModel", "ListEventsRequestDirection", @@ -6922,6 +6977,12 @@ def __dir__(): "PlanThreeDsLevels", "PlanTypes", "PlanVisibility", + "PostAccountFinancingApprovedPayload", + "PostAccountFinancingApprovedPayloadApiVersion", + "PostAccountFinancingApprovedPayloadType", + "PostAccountFinancingDeniedPayload", + "PostAccountFinancingDeniedPayloadApiVersion", + "PostAccountFinancingDeniedPayloadType", "PostAccountUpdatedPayload", "PostAccountUpdatedPayloadApiVersion", "PostAccountUpdatedPayloadType", @@ -7361,6 +7422,7 @@ def __dir__(): "ReactionListItem", "ReactionListItemUser", "ReactionUser", + "ReceiptLineItem", "ReceiptStatus", "ReceiptTaxBehaviors", "ReceiptV2Order", @@ -7424,7 +7486,6 @@ def __dir__(): "ResolutionEvent", "ResolutionEventAction", "ResolutionEventReporterType", - "ResolutionLineItem", "ResolutionPayment", "RetrieveAdCampaignsRequestAttributionModel", "RetrieveAdGroupsRequestAttributionModel", @@ -7866,6 +7927,7 @@ def __dir__(): "disputes", "dm_channels", "dm_members", + "domains", "entries", "events", "experiences", diff --git a/src/whop_sdk/access_tokens/client.py b/src/whop_sdk/access_tokens/client.py index 0dff63f7..c2817c40 100644 --- a/src/whop_sdk/access_tokens/client.py +++ b/src/whop_sdk/access_tokens/client.py @@ -66,7 +66,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -138,7 +138,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/account_links/client.py b/src/whop_sdk/account_links/client.py index ea18e06a..27e09d4e 100644 --- a/src/whop_sdk/account_links/client.py +++ b/src/whop_sdk/account_links/client.py @@ -66,7 +66,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -143,7 +143,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/accounts/__init__.py b/src/whop_sdk/accounts/__init__.py index ad993a9d..eb4bae2f 100644 --- a/src/whop_sdk/accounts/__init__.py +++ b/src/whop_sdk/accounts/__init__.py @@ -21,6 +21,12 @@ ListAccountsRequestStatus, ListAccountsResponse, ListAccountsResponsePageInfo, + PostAccountFinancingApprovedPayload, + PostAccountFinancingApprovedPayloadApiVersion, + PostAccountFinancingApprovedPayloadType, + PostAccountFinancingDeniedPayload, + PostAccountFinancingDeniedPayloadApiVersion, + PostAccountFinancingDeniedPayloadType, PostAccountUpdatedPayload, PostAccountUpdatedPayloadApiVersion, PostAccountUpdatedPayloadType, @@ -91,6 +97,12 @@ "ListAccountsResponse": ".types", "ListAccountsResponsePageInfo": ".types", "ListReservesResponse": ".reserves", + "PostAccountFinancingApprovedPayload": ".types", + "PostAccountFinancingApprovedPayloadApiVersion": ".types", + "PostAccountFinancingApprovedPayloadType": ".types", + "PostAccountFinancingDeniedPayload": ".types", + "PostAccountFinancingDeniedPayloadApiVersion": ".types", + "PostAccountFinancingDeniedPayloadType": ".types", "PostAccountUpdatedPayload": ".types", "PostAccountUpdatedPayloadApiVersion": ".types", "PostAccountUpdatedPayloadType": ".types", @@ -182,6 +194,12 @@ def __dir__(): "ListAccountsResponse", "ListAccountsResponsePageInfo", "ListReservesResponse", + "PostAccountFinancingApprovedPayload", + "PostAccountFinancingApprovedPayloadApiVersion", + "PostAccountFinancingApprovedPayloadType", + "PostAccountFinancingDeniedPayload", + "PostAccountFinancingDeniedPayloadApiVersion", + "PostAccountFinancingDeniedPayloadType", "PostAccountUpdatedPayload", "PostAccountUpdatedPayloadApiVersion", "PostAccountUpdatedPayloadType", diff --git a/src/whop_sdk/accounts/client.py b/src/whop_sdk/accounts/client.py index beb3026a..2d4ed3b7 100644 --- a/src/whop_sdk/accounts/client.py +++ b/src/whop_sdk/accounts/client.py @@ -140,7 +140,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -219,7 +219,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -256,7 +256,7 @@ def me(self, *, request_options: typing.Optional[RequestOptions] = None) -> Acco from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -287,7 +287,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -479,7 +479,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -620,7 +620,7 @@ def form_company( ) client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -714,7 +714,7 @@ def suspend(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -764,7 +764,7 @@ def transfer_ownership( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -890,7 +890,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -978,7 +978,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1023,7 +1023,7 @@ async def me(self, *, request_options: typing.Optional[RequestOptions] = None) - from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1062,7 +1062,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1262,7 +1262,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1411,7 +1411,7 @@ async def form_company( ) client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1513,7 +1513,7 @@ async def suspend(self, id: str, *, request_options: typing.Optional[RequestOpti from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1571,7 +1571,7 @@ async def transfer_ownership( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/accounts/preferences/client.py b/src/whop_sdk/accounts/preferences/client.py index ecd8014b..34604238 100644 --- a/src/whop_sdk/accounts/preferences/client.py +++ b/src/whop_sdk/accounts/preferences/client.py @@ -55,7 +55,7 @@ def retrieve( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -75,6 +75,7 @@ def update( ads_scheduling_timezone: typing.Optional[str] = OMIT, ads_triple_whale_integration: typing.Optional[UpdatePreferencesRequestAdsTripleWhaleIntegration] = OMIT, cards_auto_top_up: typing.Optional[bool] = OMIT, + cards_notifications: typing.Optional[bool] = OMIT, dispute_fighter_enabled: typing.Optional[bool] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> UpdatePreferencesResponse: @@ -101,6 +102,9 @@ def update( cards_auto_top_up : typing.Optional[bool] Whether incoming funds are automatically moved to the account's cards balance. Requires a cards balance on the account. + cards_notifications : typing.Optional[bool] + Whether Whop Card notifications reach this account's team. Set it to `false` to stop every card email and push notification for the account — application status, verification and action-required alerts, card-ready alerts, declines, large charges, and cashback summaries. Cardholder onboarding invitations still send, because they carry the only link an invited cardholder can onboard with. Requesting a card is rejected while notifications are off, since the request reaches nobody. Cards on personal accounts are unaffected. Requires a cards balance on the account. + dispute_fighter_enabled : typing.Optional[bool] Whether Whop assembles and files the evidence response when this account's payments are disputed. Off by default; enabling it also opts the account into the success fee charged only on disputes it wins. @@ -117,7 +121,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -132,6 +136,7 @@ def update( ads_scheduling_timezone=ads_scheduling_timezone, ads_triple_whale_integration=ads_triple_whale_integration, cards_auto_top_up=cards_auto_top_up, + cards_notifications=cards_notifications, dispute_fighter_enabled=dispute_fighter_enabled, request_options=request_options, ) @@ -179,7 +184,7 @@ async def retrieve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -205,6 +210,7 @@ async def update( ads_scheduling_timezone: typing.Optional[str] = OMIT, ads_triple_whale_integration: typing.Optional[UpdatePreferencesRequestAdsTripleWhaleIntegration] = OMIT, cards_auto_top_up: typing.Optional[bool] = OMIT, + cards_notifications: typing.Optional[bool] = OMIT, dispute_fighter_enabled: typing.Optional[bool] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> UpdatePreferencesResponse: @@ -231,6 +237,9 @@ async def update( cards_auto_top_up : typing.Optional[bool] Whether incoming funds are automatically moved to the account's cards balance. Requires a cards balance on the account. + cards_notifications : typing.Optional[bool] + Whether Whop Card notifications reach this account's team. Set it to `false` to stop every card email and push notification for the account — application status, verification and action-required alerts, card-ready alerts, declines, large charges, and cashback summaries. Cardholder onboarding invitations still send, because they carry the only link an invited cardholder can onboard with. Requesting a card is rejected while notifications are off, since the request reaches nobody. Cards on personal accounts are unaffected. Requires a cards balance on the account. + dispute_fighter_enabled : typing.Optional[bool] Whether Whop assembles and files the evidence response when this account's payments are disputed. Off by default; enabling it also opts the account into the success fee charged only on disputes it wins. @@ -249,7 +258,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -270,6 +279,7 @@ async def main() -> None: ads_scheduling_timezone=ads_scheduling_timezone, ads_triple_whale_integration=ads_triple_whale_integration, cards_auto_top_up=cards_auto_top_up, + cards_notifications=cards_notifications, dispute_fighter_enabled=dispute_fighter_enabled, request_options=request_options, ) diff --git a/src/whop_sdk/accounts/preferences/raw_client.py b/src/whop_sdk/accounts/preferences/raw_client.py index a064db0c..4dc01c8f 100644 --- a/src/whop_sdk/accounts/preferences/raw_client.py +++ b/src/whop_sdk/accounts/preferences/raw_client.py @@ -105,6 +105,7 @@ def update( ads_scheduling_timezone: typing.Optional[str] = OMIT, ads_triple_whale_integration: typing.Optional[UpdatePreferencesRequestAdsTripleWhaleIntegration] = OMIT, cards_auto_top_up: typing.Optional[bool] = OMIT, + cards_notifications: typing.Optional[bool] = OMIT, dispute_fighter_enabled: typing.Optional[bool] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[UpdatePreferencesResponse]: @@ -131,6 +132,9 @@ def update( cards_auto_top_up : typing.Optional[bool] Whether incoming funds are automatically moved to the account's cards balance. Requires a cards balance on the account. + cards_notifications : typing.Optional[bool] + Whether Whop Card notifications reach this account's team. Set it to `false` to stop every card email and push notification for the account — application status, verification and action-required alerts, card-ready alerts, declines, large charges, and cashback summaries. Cardholder onboarding invitations still send, because they carry the only link an invited cardholder can onboard with. Requesting a card is rejected while notifications are off, since the request reaches nobody. Cards on personal accounts are unaffected. Requires a cards balance on the account. + dispute_fighter_enabled : typing.Optional[bool] Whether Whop assembles and files the evidence response when this account's payments are disputed. Off by default; enabling it also opts the account into the success fee charged only on disputes it wins. @@ -157,6 +161,7 @@ def update( direction="write", ), "cards_auto_top_up": cards_auto_top_up, + "cards_notifications": cards_notifications, "dispute_fighter_enabled": dispute_fighter_enabled, }, headers={ @@ -307,6 +312,7 @@ async def update( ads_scheduling_timezone: typing.Optional[str] = OMIT, ads_triple_whale_integration: typing.Optional[UpdatePreferencesRequestAdsTripleWhaleIntegration] = OMIT, cards_auto_top_up: typing.Optional[bool] = OMIT, + cards_notifications: typing.Optional[bool] = OMIT, dispute_fighter_enabled: typing.Optional[bool] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[UpdatePreferencesResponse]: @@ -333,6 +339,9 @@ async def update( cards_auto_top_up : typing.Optional[bool] Whether incoming funds are automatically moved to the account's cards balance. Requires a cards balance on the account. + cards_notifications : typing.Optional[bool] + Whether Whop Card notifications reach this account's team. Set it to `false` to stop every card email and push notification for the account — application status, verification and action-required alerts, card-ready alerts, declines, large charges, and cashback summaries. Cardholder onboarding invitations still send, because they carry the only link an invited cardholder can onboard with. Requesting a card is rejected while notifications are off, since the request reaches nobody. Cards on personal accounts are unaffected. Requires a cards balance on the account. + dispute_fighter_enabled : typing.Optional[bool] Whether Whop assembles and files the evidence response when this account's payments are disputed. Off by default; enabling it also opts the account into the success fee charged only on disputes it wins. @@ -359,6 +368,7 @@ async def update( direction="write", ), "cards_auto_top_up": cards_auto_top_up, + "cards_notifications": cards_notifications, "dispute_fighter_enabled": dispute_fighter_enabled, }, headers={ diff --git a/src/whop_sdk/accounts/preferences/types/retrieve_preferences_response.py b/src/whop_sdk/accounts/preferences/types/retrieve_preferences_response.py index a0874e67..e58bc56b 100644 --- a/src/whop_sdk/accounts/preferences/types/retrieve_preferences_response.py +++ b/src/whop_sdk/accounts/preferences/types/retrieve_preferences_response.py @@ -42,6 +42,11 @@ class RetrievePreferencesResponse(UniversalBaseModel): Whether incoming funds are automatically moved to the account's cards balance. `false` when the account has no cards balance. """ + cards_notifications: bool = pydantic.Field() + """ + Whether Whop Card notifications reach this account's team. `true` by default, including when the account has no cards balance. Set it to `false` to stop every card email and push notification for the account — application status, verification and action-required alerts, card-ready alerts, declines, large charges, and cashback summaries. Cardholder onboarding invitations still send, because they carry the only link an invited cardholder can onboard with. Requesting a card is rejected while notifications are off, since the request reaches nobody. Cards on personal accounts are unaffected. + """ + dispute_fighter_enabled: bool = pydantic.Field() """ Whether Whop assembles and files the evidence response when this account's payments are disputed. Off by default; enabling it also opts the account into the success fee charged only on disputes it wins. diff --git a/src/whop_sdk/accounts/preferences/types/update_preferences_response.py b/src/whop_sdk/accounts/preferences/types/update_preferences_response.py index a32ca4c3..b7c05aa4 100644 --- a/src/whop_sdk/accounts/preferences/types/update_preferences_response.py +++ b/src/whop_sdk/accounts/preferences/types/update_preferences_response.py @@ -40,6 +40,11 @@ class UpdatePreferencesResponse(UniversalBaseModel): Whether incoming funds are automatically moved to the account's cards balance. `false` when the account has no cards balance. """ + cards_notifications: bool = pydantic.Field() + """ + Whether Whop Card notifications reach this account's team. `true` by default, including when the account has no cards balance. Set it to `false` to stop every card email and push notification for the account — application status, verification and action-required alerts, card-ready alerts, declines, large charges, and cashback summaries. Cardholder onboarding invitations still send, because they carry the only link an invited cardholder can onboard with. Requesting a card is rejected while notifications are off, since the request reaches nobody. Cards on personal accounts are unaffected. + """ + dispute_fighter_enabled: bool = pydantic.Field() """ Whether Whop assembles and files the evidence response when this account's payments are disputed. Off by default; enabling it also opts the account into the success fee charged only on disputes it wins. diff --git a/src/whop_sdk/accounts/reserves/client.py b/src/whop_sdk/accounts/reserves/client.py index ae491de2..09e14240 100644 --- a/src/whop_sdk/accounts/reserves/client.py +++ b/src/whop_sdk/accounts/reserves/client.py @@ -45,7 +45,7 @@ def list(self, account_id: str, *, request_options: typing.Optional[RequestOptio from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -98,7 +98,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/accounts/types/__init__.py b/src/whop_sdk/accounts/types/__init__.py index 981389c0..9f68fbd5 100644 --- a/src/whop_sdk/accounts/types/__init__.py +++ b/src/whop_sdk/accounts/types/__init__.py @@ -20,6 +20,12 @@ from .list_accounts_request_status import ListAccountsRequestStatus from .list_accounts_response import ListAccountsResponse from .list_accounts_response_page_info import ListAccountsResponsePageInfo + from .post_account_financing_approved_payload import PostAccountFinancingApprovedPayload + from .post_account_financing_approved_payload_api_version import PostAccountFinancingApprovedPayloadApiVersion + from .post_account_financing_approved_payload_type import PostAccountFinancingApprovedPayloadType + from .post_account_financing_denied_payload import PostAccountFinancingDeniedPayload + from .post_account_financing_denied_payload_api_version import PostAccountFinancingDeniedPayloadApiVersion + from .post_account_financing_denied_payload_type import PostAccountFinancingDeniedPayloadType from .post_account_updated_payload import PostAccountUpdatedPayload from .post_account_updated_payload_api_version import PostAccountUpdatedPayloadApiVersion from .post_account_updated_payload_type import PostAccountUpdatedPayloadType @@ -64,6 +70,12 @@ "ListAccountsRequestStatus": ".list_accounts_request_status", "ListAccountsResponse": ".list_accounts_response", "ListAccountsResponsePageInfo": ".list_accounts_response_page_info", + "PostAccountFinancingApprovedPayload": ".post_account_financing_approved_payload", + "PostAccountFinancingApprovedPayloadApiVersion": ".post_account_financing_approved_payload_api_version", + "PostAccountFinancingApprovedPayloadType": ".post_account_financing_approved_payload_type", + "PostAccountFinancingDeniedPayload": ".post_account_financing_denied_payload", + "PostAccountFinancingDeniedPayloadApiVersion": ".post_account_financing_denied_payload_api_version", + "PostAccountFinancingDeniedPayloadType": ".post_account_financing_denied_payload_type", "PostAccountUpdatedPayload": ".post_account_updated_payload", "PostAccountUpdatedPayloadApiVersion": ".post_account_updated_payload_api_version", "PostAccountUpdatedPayloadType": ".post_account_updated_payload_type", @@ -126,6 +138,12 @@ def __dir__(): "ListAccountsRequestStatus", "ListAccountsResponse", "ListAccountsResponsePageInfo", + "PostAccountFinancingApprovedPayload", + "PostAccountFinancingApprovedPayloadApiVersion", + "PostAccountFinancingApprovedPayloadType", + "PostAccountFinancingDeniedPayload", + "PostAccountFinancingDeniedPayloadApiVersion", + "PostAccountFinancingDeniedPayloadType", "PostAccountUpdatedPayload", "PostAccountUpdatedPayloadApiVersion", "PostAccountUpdatedPayloadType", diff --git a/src/whop_sdk/accounts/types/post_account_financing_approved_payload.py b/src/whop_sdk/accounts/types/post_account_financing_approved_payload.py new file mode 100644 index 00000000..902be0b0 --- /dev/null +++ b/src/whop_sdk/accounts/types/post_account_financing_approved_payload.py @@ -0,0 +1,57 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing + +import pydantic +from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel +from ...types.account import Account +from .post_account_financing_approved_payload_api_version import PostAccountFinancingApprovedPayloadApiVersion +from .post_account_financing_approved_payload_type import PostAccountFinancingApprovedPayloadType + + +class PostAccountFinancingApprovedPayload(UniversalBaseModel): + account_id: typing.Optional[str] = pydantic.Field(default=None) + """ + The account ID that this webhook event is associated with + """ + + api_version: PostAccountFinancingApprovedPayloadApiVersion = pydantic.Field() + """ + The API version for this webhook + """ + + api_version_date: typing.Optional[str] = pydantic.Field(default=None) + """ + The dated API version (Api-Version-Date) the payload is serialized to + """ + + data: Account + id: str = pydantic.Field() + """ + A unique ID for every single webhook request + """ + + previous_attributes: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) + """ + For some `.updated` events, the old values of the payload fields that changed, keyed by field name. Omitted when no capture is available for the event + """ + + timestamp: dt.datetime = pydantic.Field() + """ + The timestamp in ISO 8601 format that the webhook was sent at on the server + """ + + type: PostAccountFinancingApprovedPayloadType = pydantic.Field() + """ + The webhook event type + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/whop_sdk/accounts/types/post_account_financing_approved_payload_api_version.py b/src/whop_sdk/accounts/types/post_account_financing_approved_payload_api_version.py new file mode 100644 index 00000000..6223c08e --- /dev/null +++ b/src/whop_sdk/accounts/types/post_account_financing_approved_payload_api_version.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +PostAccountFinancingApprovedPayloadApiVersion = typing.Union[typing.Literal["v1"], typing.Any] diff --git a/src/whop_sdk/accounts/types/post_account_financing_approved_payload_type.py b/src/whop_sdk/accounts/types/post_account_financing_approved_payload_type.py new file mode 100644 index 00000000..1095cd1e --- /dev/null +++ b/src/whop_sdk/accounts/types/post_account_financing_approved_payload_type.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +PostAccountFinancingApprovedPayloadType = typing.Union[typing.Literal["account.financing_approved"], typing.Any] diff --git a/src/whop_sdk/accounts/types/post_account_financing_denied_payload.py b/src/whop_sdk/accounts/types/post_account_financing_denied_payload.py new file mode 100644 index 00000000..d1213981 --- /dev/null +++ b/src/whop_sdk/accounts/types/post_account_financing_denied_payload.py @@ -0,0 +1,57 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing + +import pydantic +from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel +from ...types.account import Account +from .post_account_financing_denied_payload_api_version import PostAccountFinancingDeniedPayloadApiVersion +from .post_account_financing_denied_payload_type import PostAccountFinancingDeniedPayloadType + + +class PostAccountFinancingDeniedPayload(UniversalBaseModel): + account_id: typing.Optional[str] = pydantic.Field(default=None) + """ + The account ID that this webhook event is associated with + """ + + api_version: PostAccountFinancingDeniedPayloadApiVersion = pydantic.Field() + """ + The API version for this webhook + """ + + api_version_date: typing.Optional[str] = pydantic.Field(default=None) + """ + The dated API version (Api-Version-Date) the payload is serialized to + """ + + data: Account + id: str = pydantic.Field() + """ + A unique ID for every single webhook request + """ + + previous_attributes: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) + """ + For some `.updated` events, the old values of the payload fields that changed, keyed by field name. Omitted when no capture is available for the event + """ + + timestamp: dt.datetime = pydantic.Field() + """ + The timestamp in ISO 8601 format that the webhook was sent at on the server + """ + + type: PostAccountFinancingDeniedPayloadType = pydantic.Field() + """ + The webhook event type + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/whop_sdk/accounts/types/post_account_financing_denied_payload_api_version.py b/src/whop_sdk/accounts/types/post_account_financing_denied_payload_api_version.py new file mode 100644 index 00000000..e90c65cc --- /dev/null +++ b/src/whop_sdk/accounts/types/post_account_financing_denied_payload_api_version.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +PostAccountFinancingDeniedPayloadApiVersion = typing.Union[typing.Literal["v1"], typing.Any] diff --git a/src/whop_sdk/accounts/types/post_account_financing_denied_payload_type.py b/src/whop_sdk/accounts/types/post_account_financing_denied_payload_type.py new file mode 100644 index 00000000..3dfc0ebc --- /dev/null +++ b/src/whop_sdk/accounts/types/post_account_financing_denied_payload_type.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +PostAccountFinancingDeniedPayloadType = typing.Union[typing.Literal["account.financing_denied"], typing.Any] diff --git a/src/whop_sdk/ad_campaigns/client.py b/src/whop_sdk/ad_campaigns/client.py index 2e12f4b8..6557c632 100644 --- a/src/whop_sdk/ad_campaigns/client.py +++ b/src/whop_sdk/ad_campaigns/client.py @@ -133,7 +133,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -234,7 +234,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -304,7 +304,7 @@ def retrieve( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -344,7 +344,7 @@ def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -418,7 +418,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -476,7 +476,7 @@ def duplicate( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -511,7 +511,7 @@ def pause(self, id: str, *, request_options: typing.Optional[RequestOptions] = N from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -544,7 +544,7 @@ def retry_payment(self, id: str, *, request_options: typing.Optional[RequestOpti from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -577,7 +577,7 @@ def unpause(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -689,7 +689,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -799,7 +799,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -877,7 +877,7 @@ async def retrieve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -927,7 +927,7 @@ async def delete( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1009,7 +1009,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1075,7 +1075,7 @@ async def duplicate( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1118,7 +1118,7 @@ async def pause(self, id: str, *, request_options: typing.Optional[RequestOption from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1159,7 +1159,7 @@ async def retry_payment(self, id: str, *, request_options: typing.Optional[Reque from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1200,7 +1200,7 @@ async def unpause(self, id: str, *, request_options: typing.Optional[RequestOpti from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/ad_groups/client.py b/src/whop_sdk/ad_groups/client.py index dbaa6228..50f8a8c5 100644 --- a/src/whop_sdk/ad_groups/client.py +++ b/src/whop_sdk/ad_groups/client.py @@ -159,7 +159,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -316,7 +316,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -407,7 +407,7 @@ def estimate_reach( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -498,7 +498,7 @@ def search_targeting_options( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -562,7 +562,7 @@ def retrieve( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -602,7 +602,7 @@ def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -732,7 +732,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -806,7 +806,7 @@ def duplicate( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -845,7 +845,7 @@ def pause(self, id: str, *, request_options: typing.Optional[RequestOptions] = N from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -878,7 +878,7 @@ def unpause(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -998,7 +998,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1164,7 +1164,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1263,7 +1263,7 @@ async def estimate_reach( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1362,7 +1362,7 @@ async def search_targeting_options( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1434,7 +1434,7 @@ async def retrieve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1484,7 +1484,7 @@ async def delete( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1622,7 +1622,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1704,7 +1704,7 @@ async def duplicate( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1751,7 +1751,7 @@ async def pause(self, id: str, *, request_options: typing.Optional[RequestOption from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1792,7 +1792,7 @@ async def unpause(self, id: str, *, request_options: typing.Optional[RequestOpti from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/ads/client.py b/src/whop_sdk/ads/client.py index 202e27c5..566841ad 100644 --- a/src/whop_sdk/ads/client.py +++ b/src/whop_sdk/ads/client.py @@ -148,7 +148,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -280,7 +280,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -352,7 +352,7 @@ def retrieve( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -392,7 +392,7 @@ def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -494,7 +494,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -563,7 +563,7 @@ def duplicate( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -602,7 +602,7 @@ def pause(self, id: str, *, request_options: typing.Optional[RequestOptions] = N from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -635,7 +635,7 @@ def unpause(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -763,7 +763,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -904,7 +904,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -984,7 +984,7 @@ async def retrieve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1032,7 +1032,7 @@ async def delete(self, id: str, *, request_options: typing.Optional[RequestOptio from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1142,7 +1142,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1219,7 +1219,7 @@ async def duplicate( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1266,7 +1266,7 @@ async def pause(self, id: str, *, request_options: typing.Optional[RequestOption from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1307,7 +1307,7 @@ async def unpause(self, id: str, *, request_options: typing.Optional[RequestOpti from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/affiliates/client.py b/src/whop_sdk/affiliates/client.py index 050a078e..d33aea6e 100644 --- a/src/whop_sdk/affiliates/client.py +++ b/src/whop_sdk/affiliates/client.py @@ -97,7 +97,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -155,7 +155,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -194,7 +194,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -230,7 +230,7 @@ def archive(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -266,7 +266,7 @@ def unarchive(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -364,7 +364,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -431,7 +431,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -478,7 +478,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -522,7 +522,7 @@ async def archive(self, id: str, *, request_options: typing.Optional[RequestOpti from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -566,7 +566,7 @@ async def unarchive(self, id: str, *, request_options: typing.Optional[RequestOp from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/affiliates/overrides/client.py b/src/whop_sdk/affiliates/overrides/client.py index c15d71fb..57fa02bd 100644 --- a/src/whop_sdk/affiliates/overrides/client.py +++ b/src/whop_sdk/affiliates/overrides/client.py @@ -85,7 +85,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -140,7 +140,7 @@ def create( from whop_sdk.affiliates.overrides import CreateOverridesRequestBody_Standard client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -186,7 +186,7 @@ def retrieve( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -226,7 +226,7 @@ def delete(self, id: str, override_id: str, *, request_options: typing.Optional[ from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -288,7 +288,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -375,7 +375,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -439,7 +439,7 @@ async def create( from whop_sdk.affiliates.overrides import CreateOverridesRequestBody_Standard client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -493,7 +493,7 @@ async def retrieve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -543,7 +543,7 @@ async def delete( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -613,7 +613,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/ai_chats/client.py b/src/whop_sdk/ai_chats/client.py index e56c1f95..73310ff4 100644 --- a/src/whop_sdk/ai_chats/client.py +++ b/src/whop_sdk/ai_chats/client.py @@ -79,7 +79,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -157,7 +157,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -199,7 +199,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -235,7 +235,7 @@ def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -288,7 +288,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -369,7 +369,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -456,7 +456,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -506,7 +506,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -550,7 +550,7 @@ async def delete(self, id: str, *, request_options: typing.Optional[RequestOptio from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -611,7 +611,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/api_keys/client.py b/src/whop_sdk/api_keys/client.py index 22bd37e1..57d5150b 100644 --- a/src/whop_sdk/api_keys/client.py +++ b/src/whop_sdk/api_keys/client.py @@ -103,7 +103,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -183,7 +183,7 @@ def create( from whop_sdk.api_keys import CreateApiKeysRequestPermissions client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -227,7 +227,7 @@ def list_permissions( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -258,7 +258,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -291,7 +291,7 @@ def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -349,7 +349,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -390,7 +390,7 @@ def rotate(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -482,7 +482,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -571,7 +571,7 @@ async def create( from whop_sdk.api_keys import CreateApiKeysRequestPermissions client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -623,7 +623,7 @@ async def list_permissions( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -662,7 +662,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -705,7 +705,7 @@ async def delete( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -771,7 +771,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -820,7 +820,7 @@ async def rotate(self, id: str, *, request_options: typing.Optional[RequestOptio from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/api_keys/types/create_api_keys_request_api_version_date.py b/src/whop_sdk/api_keys/types/create_api_keys_request_api_version_date.py index a76d56b4..e0afa3ad 100644 --- a/src/whop_sdk/api_keys/types/create_api_keys_request_api_version_date.py +++ b/src/whop_sdk/api_keys/types/create_api_keys_request_api_version_date.py @@ -39,6 +39,7 @@ "2026-09-02-2", "2026-09-04", "2026-09-06", + "2026-09-09", ], typing.Any, ] diff --git a/src/whop_sdk/api_keys/types/update_api_keys_request_api_version_date.py b/src/whop_sdk/api_keys/types/update_api_keys_request_api_version_date.py index 16938b28..53a3b930 100644 --- a/src/whop_sdk/api_keys/types/update_api_keys_request_api_version_date.py +++ b/src/whop_sdk/api_keys/types/update_api_keys_request_api_version_date.py @@ -39,6 +39,7 @@ "2026-09-02-2", "2026-09-04", "2026-09-06", + "2026-09-09", ], typing.Any, ] diff --git a/src/whop_sdk/api_logs/client.py b/src/whop_sdk/api_logs/client.py index 4be3a7de..c4fa28af 100644 --- a/src/whop_sdk/api_logs/client.py +++ b/src/whop_sdk/api_logs/client.py @@ -94,7 +94,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -205,7 +205,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/app_builds/client.py b/src/whop_sdk/app_builds/client.py index 0b74f733..2ce49e79 100644 --- a/src/whop_sdk/app_builds/client.py +++ b/src/whop_sdk/app_builds/client.py @@ -97,7 +97,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -177,7 +177,7 @@ def create( from whop_sdk.app_builds import CreateAppBuildsRequestAttachment client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -221,7 +221,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -254,7 +254,7 @@ def promote(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -342,7 +342,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -431,7 +431,7 @@ async def create( from whop_sdk.app_builds import CreateAppBuildsRequestAttachment client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -483,7 +483,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -524,7 +524,7 @@ async def promote(self, id: str, *, request_options: typing.Optional[RequestOpti from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/apps/client.py b/src/whop_sdk/apps/client.py index dd0ed438..0564ca6d 100644 --- a/src/whop_sdk/apps/client.py +++ b/src/whop_sdk/apps/client.py @@ -123,7 +123,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -202,7 +202,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -224,12 +224,12 @@ def create( def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> App: """ - Retrieves an app by ID, claimed route, or proxy domain id. Credential fields (api_key, default_api_key, secrets) render `null` unless the caller has the corresponding developer permission on the owning account. + Retrieves an app by ID, claimed route, active verified custom hostname, or proxy domain id. Custom hostnames return 404 for inactive assignments, suspended accounts, or deleted apps. Credential fields (api_key, default_api_key, secrets) render `null` unless the caller has the corresponding developer permission on the owning account. Parameters ---------- id : str - App ID (prefixed `app_`), the app's claimed route, or its proxy domain id. + App ID (prefixed `app_`). Retrieval also accepts the app's claimed route, an active verified custom hostname, or its proxy domain id. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -244,7 +244,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -262,7 +262,7 @@ def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = Parameters ---------- id : str - App ID (prefixed `app_`), the app's claimed route, or its proxy domain id. + App ID (prefixed `app_`). Retrieval also accepts the app's claimed route, an active verified custom hostname, or its proxy domain id. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -277,7 +277,7 @@ def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -320,7 +320,7 @@ def update( Parameters ---------- id : str - App ID (prefixed `app_`), the app's claimed route, or its proxy domain id. + App ID (prefixed `app_`). Retrieval also accepts the app's claimed route, an active verified custom hostname, or its proxy domain id. app_store_description : typing.Optional[str] The detailed description shown on the app store's in-depth app view page. @@ -395,7 +395,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -456,7 +456,7 @@ def deploy( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -526,7 +526,7 @@ def logs( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -584,7 +584,7 @@ def update_permissions( from whop_sdk.apps import UpdatePermissionsAppsRequestRequestedPermissionsItem client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -697,7 +697,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -785,7 +785,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -813,12 +813,12 @@ async def main() -> None: async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> App: """ - Retrieves an app by ID, claimed route, or proxy domain id. Credential fields (api_key, default_api_key, secrets) render `null` unless the caller has the corresponding developer permission on the owning account. + Retrieves an app by ID, claimed route, active verified custom hostname, or proxy domain id. Custom hostnames return 404 for inactive assignments, suspended accounts, or deleted apps. Credential fields (api_key, default_api_key, secrets) render `null` unless the caller has the corresponding developer permission on the owning account. Parameters ---------- id : str - App ID (prefixed `app_`), the app's claimed route, or its proxy domain id. + App ID (prefixed `app_`). Retrieval also accepts the app's claimed route, an active verified custom hostname, or its proxy domain id. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -835,7 +835,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -859,7 +859,7 @@ async def delete(self, id: str, *, request_options: typing.Optional[RequestOptio Parameters ---------- id : str - App ID (prefixed `app_`), the app's claimed route, or its proxy domain id. + App ID (prefixed `app_`). Retrieval also accepts the app's claimed route, an active verified custom hostname, or its proxy domain id. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -876,7 +876,7 @@ async def delete(self, id: str, *, request_options: typing.Optional[RequestOptio from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -925,7 +925,7 @@ async def update( Parameters ---------- id : str - App ID (prefixed `app_`), the app's claimed route, or its proxy domain id. + App ID (prefixed `app_`). Retrieval also accepts the app's claimed route, an active verified custom hostname, or its proxy domain id. app_store_description : typing.Optional[str] The detailed description shown on the app store's in-depth app view page. @@ -1002,7 +1002,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1071,7 +1071,7 @@ async def deploy( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1149,7 +1149,7 @@ async def logs( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1216,7 +1216,7 @@ async def update_permissions( from whop_sdk.apps import UpdatePermissionsAppsRequestRequestedPermissionsItem client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/apps/raw_client.py b/src/whop_sdk/apps/raw_client.py index 0be3939d..53963b8e 100644 --- a/src/whop_sdk/apps/raw_client.py +++ b/src/whop_sdk/apps/raw_client.py @@ -346,12 +346,12 @@ def create( def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> HttpResponse[App]: """ - Retrieves an app by ID, claimed route, or proxy domain id. Credential fields (api_key, default_api_key, secrets) render `null` unless the caller has the corresponding developer permission on the owning account. + Retrieves an app by ID, claimed route, active verified custom hostname, or proxy domain id. Custom hostnames return 404 for inactive assignments, suspended accounts, or deleted apps. Credential fields (api_key, default_api_key, secrets) render `null` unless the caller has the corresponding developer permission on the owning account. Parameters ---------- id : str - App ID (prefixed `app_`), the app's claimed route, or its proxy domain id. + App ID (prefixed `app_`). Retrieval also accepts the app's claimed route, an active verified custom hostname, or its proxy domain id. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -405,7 +405,7 @@ def delete( Parameters ---------- id : str - App ID (prefixed `app_`), the app's claimed route, or its proxy domain id. + App ID (prefixed `app_`). Retrieval also accepts the app's claimed route, an active verified custom hostname, or its proxy domain id. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -504,7 +504,7 @@ def update( Parameters ---------- id : str - App ID (prefixed `app_`), the app's claimed route, or its proxy domain id. + App ID (prefixed `app_`). Retrieval also accepts the app's claimed route, an active verified custom hostname, or its proxy domain id. app_store_description : typing.Optional[str] The detailed description shown on the app store's in-depth app view page. @@ -1294,12 +1294,12 @@ async def retrieve( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[App]: """ - Retrieves an app by ID, claimed route, or proxy domain id. Credential fields (api_key, default_api_key, secrets) render `null` unless the caller has the corresponding developer permission on the owning account. + Retrieves an app by ID, claimed route, active verified custom hostname, or proxy domain id. Custom hostnames return 404 for inactive assignments, suspended accounts, or deleted apps. Credential fields (api_key, default_api_key, secrets) render `null` unless the caller has the corresponding developer permission on the owning account. Parameters ---------- id : str - App ID (prefixed `app_`), the app's claimed route, or its proxy domain id. + App ID (prefixed `app_`). Retrieval also accepts the app's claimed route, an active verified custom hostname, or its proxy domain id. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -1353,7 +1353,7 @@ async def delete( Parameters ---------- id : str - App ID (prefixed `app_`), the app's claimed route, or its proxy domain id. + App ID (prefixed `app_`). Retrieval also accepts the app's claimed route, an active verified custom hostname, or its proxy domain id. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -1452,7 +1452,7 @@ async def update( Parameters ---------- id : str - App ID (prefixed `app_`), the app's claimed route, or its proxy domain id. + App ID (prefixed `app_`). Retrieval also accepts the app's claimed route, an active verified custom hostname, or its proxy domain id. app_store_description : typing.Optional[str] The detailed description shown on the app store's in-depth app view page. diff --git a/src/whop_sdk/audiences/client.py b/src/whop_sdk/audiences/client.py index 3db131c6..b0bb6090 100644 --- a/src/whop_sdk/audiences/client.py +++ b/src/whop_sdk/audiences/client.py @@ -83,7 +83,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -178,7 +178,7 @@ def create( from whop_sdk.audiences import CreateAudiencesRequestEngagement client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -237,7 +237,7 @@ def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -283,7 +283,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -319,7 +319,7 @@ def add_people(self, id: str, *, file_id: str, request_options: typing.Optional[ from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -396,7 +396,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -500,7 +500,7 @@ async def create( from whop_sdk.audiences import CreateAudiencesRequestEngagement client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -569,7 +569,7 @@ async def delete( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -623,7 +623,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -669,7 +669,7 @@ async def add_people( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/authorized_users/client.py b/src/whop_sdk/authorized_users/client.py index 25c9021a..d24ab544 100644 --- a/src/whop_sdk/authorized_users/client.py +++ b/src/whop_sdk/authorized_users/client.py @@ -97,7 +97,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -179,7 +179,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -225,7 +225,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -270,7 +270,7 @@ def delete( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -363,7 +363,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -454,7 +454,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -508,7 +508,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -561,7 +561,7 @@ async def delete( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/bounties/client.py b/src/whop_sdk/bounties/client.py index c6813c14..89a2c950 100644 --- a/src/whop_sdk/bounties/client.py +++ b/src/whop_sdk/bounties/client.py @@ -127,7 +127,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -232,7 +232,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -282,7 +282,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -360,7 +360,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -406,7 +406,7 @@ def cancel(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -528,7 +528,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -642,7 +642,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -700,7 +700,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -786,7 +786,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -840,7 +840,7 @@ async def cancel(self, id: str, *, request_options: typing.Optional[RequestOptio from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/bounties/submissions/client.py b/src/whop_sdk/bounties/submissions/client.py index ab9bb24a..b3f2a763 100644 --- a/src/whop_sdk/bounties/submissions/client.py +++ b/src/whop_sdk/bounties/submissions/client.py @@ -91,7 +91,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -145,7 +145,7 @@ def retrieve( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -238,7 +238,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -301,7 +301,7 @@ async def retrieve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/bounty_submissions/client.py b/src/whop_sdk/bounty_submissions/client.py index 391378d1..492eb457 100644 --- a/src/whop_sdk/bounty_submissions/client.py +++ b/src/whop_sdk/bounty_submissions/client.py @@ -102,7 +102,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -167,7 +167,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -215,7 +215,7 @@ def retrieve( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -250,7 +250,7 @@ def delete( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -292,7 +292,7 @@ def submit( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -388,7 +388,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -462,7 +462,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -518,7 +518,7 @@ async def retrieve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -561,7 +561,7 @@ async def delete( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -611,7 +611,7 @@ async def submit( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/card_transactions/client.py b/src/whop_sdk/card_transactions/client.py index 0d5def70..594a54ae 100644 --- a/src/whop_sdk/card_transactions/client.py +++ b/src/whop_sdk/card_transactions/client.py @@ -103,7 +103,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -166,7 +166,7 @@ def retrieve( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -270,7 +270,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -342,7 +342,7 @@ async def retrieve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/cards/client.py b/src/whop_sdk/cards/client.py index 6ad1c3c0..7b0b3327 100644 --- a/src/whop_sdk/cards/client.py +++ b/src/whop_sdk/cards/client.py @@ -64,7 +64,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -124,7 +124,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -177,7 +177,7 @@ def retrieve( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -265,7 +265,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -340,7 +340,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -408,7 +408,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -469,7 +469,7 @@ async def retrieve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -565,7 +565,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/chat_channels/client.py b/src/whop_sdk/chat_channels/client.py index 24053e52..5003a05e 100644 --- a/src/whop_sdk/chat_channels/client.py +++ b/src/whop_sdk/chat_channels/client.py @@ -81,7 +81,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -132,7 +132,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -197,7 +197,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -285,7 +285,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -345,7 +345,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -418,7 +418,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/checkout_configurations/client.py b/src/whop_sdk/checkout_configurations/client.py index 099fdbb3..77587696 100644 --- a/src/whop_sdk/checkout_configurations/client.py +++ b/src/whop_sdk/checkout_configurations/client.py @@ -94,7 +94,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -184,7 +184,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -232,7 +232,7 @@ def retrieve( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -267,7 +267,7 @@ def delete( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -351,7 +351,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -450,7 +450,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -506,7 +506,7 @@ async def retrieve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -549,7 +549,7 @@ async def delete( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/client.py b/src/whop_sdk/client.py index de0d9f82..a8a2aa77 100644 --- a/src/whop_sdk/client.py +++ b/src/whop_sdk/client.py @@ -42,6 +42,7 @@ from .disputes.client import AsyncDisputesClient, DisputesClient from .dm_channels.client import AsyncDmChannelsClient, DmChannelsClient from .dm_members.client import AsyncDmMembersClient, DmMembersClient + from .domains.client import AsyncDomainsClient, DomainsClient from .entries.client import AsyncEntriesClient, EntriesClient from .events.client import AsyncEventsClient, EventsClient from .experiences.client import AsyncExperiencesClient, ExperiencesClient @@ -142,7 +143,7 @@ class Whop: from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -153,7 +154,7 @@ def __init__( *, base_url: typing.Optional[str] = None, environment: WhopEnvironment = WhopEnvironment.DEFAULT, - api_version_date: typing.Optional[str] = "2026-09-06", + api_version_date: typing.Optional[str] = "2026-09-09", idempotency_key: typing.Optional[str] = None, token: typing.Optional[typing.Union[str, typing.Callable[[], str]]] = None, headers: typing.Optional[typing.Dict[str, str]] = None, @@ -216,6 +217,7 @@ def __init__( self._disputes: typing.Optional[DisputesClient] = None self._dm_channels: typing.Optional[DmChannelsClient] = None self._dm_members: typing.Optional[DmMembersClient] = None + self._domains: typing.Optional[DomainsClient] = None self._entries: typing.Optional[EntriesClient] = None self._events: typing.Optional[EventsClient] = None self._experiences: typing.Optional[ExperiencesClient] = None @@ -521,6 +523,14 @@ def dm_members(self): self._dm_members = DmMembersClient(client_wrapper=self._client_wrapper) return self._dm_members + @property + def domains(self): + if self._domains is None: + from .domains.client import DomainsClient # noqa: E402 + + self._domains = DomainsClient(client_wrapper=self._client_wrapper) + return self._domains + @property def entries(self): if self._entries is None: @@ -977,7 +987,7 @@ class AsyncWhop: from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -988,7 +998,7 @@ def __init__( *, base_url: typing.Optional[str] = None, environment: WhopEnvironment = WhopEnvironment.DEFAULT, - api_version_date: typing.Optional[str] = "2026-09-06", + api_version_date: typing.Optional[str] = "2026-09-09", idempotency_key: typing.Optional[str] = None, token: typing.Optional[typing.Union[str, typing.Callable[[], str]]] = None, headers: typing.Optional[typing.Dict[str, str]] = None, @@ -1051,6 +1061,7 @@ def __init__( self._disputes: typing.Optional[AsyncDisputesClient] = None self._dm_channels: typing.Optional[AsyncDmChannelsClient] = None self._dm_members: typing.Optional[AsyncDmMembersClient] = None + self._domains: typing.Optional[AsyncDomainsClient] = None self._entries: typing.Optional[AsyncEntriesClient] = None self._events: typing.Optional[AsyncEventsClient] = None self._experiences: typing.Optional[AsyncExperiencesClient] = None @@ -1356,6 +1367,14 @@ def dm_members(self): self._dm_members = AsyncDmMembersClient(client_wrapper=self._client_wrapper) return self._dm_members + @property + def domains(self): + if self._domains is None: + from .domains.client import AsyncDomainsClient # noqa: E402 + + self._domains = AsyncDomainsClient(client_wrapper=self._client_wrapper) + return self._domains + @property def entries(self): if self._entries is None: diff --git a/src/whop_sdk/company_token_transactions/client.py b/src/whop_sdk/company_token_transactions/client.py index 1b55854b..9c37bc8c 100644 --- a/src/whop_sdk/company_token_transactions/client.py +++ b/src/whop_sdk/company_token_transactions/client.py @@ -86,7 +86,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -144,7 +144,7 @@ def create( ) client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -187,7 +187,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -271,7 +271,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -338,7 +338,7 @@ async def create( ) client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -391,7 +391,7 @@ async def retrieve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/confirmation_tokens/client.py b/src/whop_sdk/confirmation_tokens/client.py index 0aa95910..318ea515 100644 --- a/src/whop_sdk/confirmation_tokens/client.py +++ b/src/whop_sdk/confirmation_tokens/client.py @@ -81,7 +81,7 @@ def create( ) client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -147,7 +147,7 @@ def retrieve( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -229,7 +229,7 @@ async def create( ) client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -303,7 +303,7 @@ async def retrieve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/course_chapters/client.py b/src/whop_sdk/course_chapters/client.py index 0b08aaf0..d72de0c2 100644 --- a/src/whop_sdk/course_chapters/client.py +++ b/src/whop_sdk/course_chapters/client.py @@ -75,7 +75,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -128,7 +128,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -164,7 +164,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -200,7 +200,7 @@ def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -239,7 +239,7 @@ def update(self, id: str, *, title: str, request_options: typing.Optional[Reques from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -315,7 +315,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -377,7 +377,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -421,7 +421,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -465,7 +465,7 @@ async def delete(self, id: str, *, request_options: typing.Optional[RequestOptio from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -514,7 +514,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/course_lesson_interactions/client.py b/src/whop_sdk/course_lesson_interactions/client.py index 8f09320d..d7408730 100644 --- a/src/whop_sdk/course_lesson_interactions/client.py +++ b/src/whop_sdk/course_lesson_interactions/client.py @@ -85,7 +85,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -140,7 +140,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -228,7 +228,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -294,7 +294,7 @@ async def retrieve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/course_lessons/client.py b/src/whop_sdk/course_lessons/client.py index f6f0b690..66e01899 100644 --- a/src/whop_sdk/course_lessons/client.py +++ b/src/whop_sdk/course_lessons/client.py @@ -94,7 +94,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -178,7 +178,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -225,7 +225,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -261,7 +261,7 @@ def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -362,7 +362,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -412,7 +412,7 @@ def mark_as_completed(self, lesson_id: str, *, request_options: typing.Optional[ from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -445,7 +445,7 @@ def start(self, lesson_id: str, *, request_options: typing.Optional[RequestOptio from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -490,7 +490,7 @@ def submit_assessment( ) client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -574,7 +574,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -667,7 +667,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -722,7 +722,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -766,7 +766,7 @@ async def delete(self, id: str, *, request_options: typing.Optional[RequestOptio from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -875,7 +875,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -935,7 +935,7 @@ async def mark_as_completed( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -976,7 +976,7 @@ async def start(self, lesson_id: str, *, request_options: typing.Optional[Reques from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1029,7 +1029,7 @@ async def submit_assessment( ) client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/course_students/client.py b/src/whop_sdk/course_students/client.py index db435f94..5a747bdb 100644 --- a/src/whop_sdk/course_students/client.py +++ b/src/whop_sdk/course_students/client.py @@ -77,7 +77,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -128,7 +128,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -208,7 +208,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -268,7 +268,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/courses/client.py b/src/whop_sdk/courses/client.py index a6af1ed0..0caf640a 100644 --- a/src/whop_sdk/courses/client.py +++ b/src/whop_sdk/courses/client.py @@ -84,7 +84,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -168,7 +168,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -215,7 +215,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -251,7 +251,7 @@ def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -332,7 +332,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -424,7 +424,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -517,7 +517,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -572,7 +572,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -616,7 +616,7 @@ async def delete(self, id: str, *, request_options: typing.Optional[RequestOptio from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -705,7 +705,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/deposits/client.py b/src/whop_sdk/deposits/client.py index 265a3b5c..1f8c5d28 100644 --- a/src/whop_sdk/deposits/client.py +++ b/src/whop_sdk/deposits/client.py @@ -57,7 +57,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -117,7 +117,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/dispute_alerts/client.py b/src/whop_sdk/dispute_alerts/client.py index 51e8b8f0..75e95be0 100644 --- a/src/whop_sdk/dispute_alerts/client.py +++ b/src/whop_sdk/dispute_alerts/client.py @@ -95,7 +95,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -143,7 +143,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -239,7 +239,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -296,7 +296,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/disputes/client.py b/src/whop_sdk/disputes/client.py index c8c75177..f29e6441 100644 --- a/src/whop_sdk/disputes/client.py +++ b/src/whop_sdk/disputes/client.py @@ -105,7 +105,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -182,7 +182,7 @@ def summary( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -221,7 +221,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -263,7 +263,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -296,7 +296,7 @@ def submit(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -339,7 +339,7 @@ def upload_evidence( from whop_sdk.disputes import UploadEvidenceDisputesRequestDocumentsItem client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -442,7 +442,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -528,7 +528,7 @@ async def summary( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -575,7 +575,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -625,7 +625,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -666,7 +666,7 @@ async def submit(self, id: str, *, request_options: typing.Optional[RequestOptio from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -717,7 +717,7 @@ async def upload_evidence( from whop_sdk.disputes import UploadEvidenceDisputesRequestDocumentsItem client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/dm_channels/client.py b/src/whop_sdk/dm_channels/client.py index c4cfdcbd..161592d5 100644 --- a/src/whop_sdk/dm_channels/client.py +++ b/src/whop_sdk/dm_channels/client.py @@ -75,7 +75,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -136,7 +136,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -179,7 +179,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -216,7 +216,7 @@ def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -262,7 +262,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -337,7 +337,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -407,7 +407,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -458,7 +458,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -503,7 +503,7 @@ async def delete(self, id: str, *, request_options: typing.Optional[RequestOptio from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -557,7 +557,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/dm_members/client.py b/src/whop_sdk/dm_members/client.py index 0580e585..d80b9c29 100644 --- a/src/whop_sdk/dm_members/client.py +++ b/src/whop_sdk/dm_members/client.py @@ -78,7 +78,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -128,7 +128,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -166,7 +166,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -203,7 +203,7 @@ def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -253,7 +253,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -331,7 +331,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -390,7 +390,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -438,7 +438,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -483,7 +483,7 @@ async def delete(self, id: str, *, request_options: typing.Optional[RequestOptio from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -541,7 +541,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/domains/__init__.py b/src/whop_sdk/domains/__init__.py new file mode 100644 index 00000000..204921c3 --- /dev/null +++ b/src/whop_sdk/domains/__init__.py @@ -0,0 +1,52 @@ +# This file was auto-generated by Fern from our API Definition. + +# isort: skip_file + +import typing +from importlib import import_module + +if typing.TYPE_CHECKING: + from .types import ( + ListDomainsRequestDirection, + ListDomainsRequestOrder, + ListDomainsRequestStatus, + ListDomainsResponse, + ListDomainsResponsePageInfo, + ) +_dynamic_imports: typing.Dict[str, str] = { + "ListDomainsRequestDirection": ".types", + "ListDomainsRequestOrder": ".types", + "ListDomainsRequestStatus": ".types", + "ListDomainsResponse": ".types", + "ListDomainsResponsePageInfo": ".types", +} + + +def __getattr__(attr_name: str) -> typing.Any: + module_name = _dynamic_imports.get(attr_name) + if module_name is None: + raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}") + try: + module = import_module(module_name, __package__) + if module_name == f".{attr_name}": + return module + else: + return getattr(module, attr_name) + except ImportError as e: + raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e + except AttributeError as e: + raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e + + +def __dir__(): + lazy_attrs = list(_dynamic_imports.keys()) + return sorted(lazy_attrs) + + +__all__ = [ + "ListDomainsRequestDirection", + "ListDomainsRequestOrder", + "ListDomainsRequestStatus", + "ListDomainsResponse", + "ListDomainsResponsePageInfo", +] diff --git a/src/whop_sdk/domains/client.py b/src/whop_sdk/domains/client.py new file mode 100644 index 00000000..369763f9 --- /dev/null +++ b/src/whop_sdk/domains/client.py @@ -0,0 +1,603 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper +from ..core.pagination import AsyncPager, SyncPager +from ..core.request_options import RequestOptions +from ..types.domain import Domain +from .raw_client import AsyncRawDomainsClient, RawDomainsClient +from .types.list_domains_request_direction import ListDomainsRequestDirection +from .types.list_domains_request_order import ListDomainsRequestOrder +from .types.list_domains_request_status import ListDomainsRequestStatus +from .types.list_domains_response import ListDomainsResponse + +# this is used as the default value for optional parameters +OMIT = typing.cast(typing.Any, ...) + + +class DomainsClient: + def __init__(self, *, client_wrapper: SyncClientWrapper): + self._raw_client = RawDomainsClient(client_wrapper=client_wrapper) + + @property + def with_raw_response(self) -> RawDomainsClient: + """ + Retrieves a raw implementation of this client that returns raw responses. + + Returns + ------- + RawDomainsClient + """ + return self._raw_client + + def list( + self, + *, + account_id: typing.Optional[str] = None, + app_id: typing.Optional[str] = None, + status: typing.Optional[ListDomainsRequestStatus] = None, + order: typing.Optional[ListDomainsRequestOrder] = None, + direction: typing.Optional[ListDomainsRequestDirection] = None, + first: typing.Optional[int] = None, + after: typing.Optional[str] = None, + last: typing.Optional[int] = None, + before: typing.Optional[str] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> SyncPager[Domain, ListDomainsResponse]: + """ + Lists the caller's domain claims and assignments. Filter by account, app, or lifecycle status. + + Parameters + ---------- + account_id : typing.Optional[str] + Only domains belonging to this account, prefixed biz_. + + app_id : typing.Optional[str] + Only domains assigned to this app, prefixed app_. + + status : typing.Optional[ListDomainsRequestStatus] + Only domains with this lifecycle status. + + order : typing.Optional[ListDomainsRequestOrder] + Field to sort by. + + direction : typing.Optional[ListDomainsRequestDirection] + Sort direction. + + first : typing.Optional[int] + Number of domains from the start of the page. + + after : typing.Optional[str] + Cursor for the next page. + + last : typing.Optional[int] + Number of domains from the end of the page. + + before : typing.Optional[str] + Cursor for the previous page. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + SyncPager[Domain, ListDomainsResponse] + Domain list + + Examples + -------- + from whop_sdk import Whop + + client = Whop( + "2026-09-09", + idempotency_key="YOUR_IDEMPOTENCY_KEY", + token="YOUR_TOKEN", + ) + response = client.domains.list() + for item in response: + yield item + # alternatively, you can paginate page-by-page + for page in response.iter_pages(): + yield page + """ + return self._raw_client.list( + account_id=account_id, + app_id=app_id, + status=status, + order=order, + direction=direction, + first=first, + after=after, + last=last, + before=before, + request_options=request_options, + ) + + def create( + self, + *, + app_id: str, + domain: str, + account_id: typing.Optional[str] = OMIT, + metadata: typing.Optional[typing.Dict[str, str]] = OMIT, + replace_existing: typing.Optional[bool] = OMIT, + request_options: typing.Optional[RequestOptions] = None, + ) -> Domain: + """ + Creates an unverified claim and returns DNS instructions. A claim does not reserve the hostname globally. Publish its unique TXT record; ownership verification, DNS checks, and certificate provisioning run automatically. Unverified claims are deleted after 48 hours. + + Parameters + ---------- + app_id : str + App ID, prefixed app_. The app must belong to the account. + + domain : str + Bare hostname, such as example.com or checkout.example.com. Wildcards, paths, schemes, and ports are not accepted. + + account_id : typing.Optional[str] + Account ID, prefixed biz_. Required for user credentials; otherwise defaults to the credential's account. + + metadata : typing.Optional[typing.Dict[str, str]] + Custom string keys and values. + + replace_existing : typing.Optional[bool] + Explicitly transfer a domain from its current owner after publishing this new claim's TXT proof. Create the claim after the current owner verified. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Domain + Domain claim created + + Examples + -------- + from whop_sdk import Whop + + client = Whop( + "2026-09-09", + idempotency_key="YOUR_IDEMPOTENCY_KEY", + token="YOUR_TOKEN", + ) + client.domains.create( + app_id="app_xxxxxxxxxxxxxx", + domain="store.example.com", + ) + """ + _response = self._raw_client.create( + app_id=app_id, + domain=domain, + account_id=account_id, + metadata=metadata, + replace_existing=replace_existing, + request_options=request_options, + ) + return _response.data + + def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Domain: + """ + Retrieves the claim, app assignment, DNS instructions, and the latest hostname and certificate state. For domains still connecting, needing attention, or being deleted, requests an immediate background check. + + Parameters + ---------- + id : str + Domain ID, prefixed dom_. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Domain + Domain details + + Examples + -------- + from whop_sdk import Whop + + client = Whop( + "2026-09-09", + idempotency_key="YOUR_IDEMPOTENCY_KEY", + token="YOUR_TOKEN", + ) + client.domains.retrieve( + id="id", + ) + """ + _response = self._raw_client.retrieve(id, request_options=request_options) + return _response.data + + def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Domain: + """ + Stops resolving the domain to its app and queues Cloudflare cleanup. The response is deleting; retrieve the resource until it is removed. + + Parameters + ---------- + id : str + Domain ID, prefixed dom_. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Domain + Domain deletion requested + + Examples + -------- + from whop_sdk import Whop + + client = Whop( + "2026-09-09", + idempotency_key="YOUR_IDEMPOTENCY_KEY", + token="YOUR_TOKEN", + ) + client.domains.delete( + id="id", + ) + """ + _response = self._raw_client.delete(id, request_options=request_options) + return _response.data + + def update( + self, + id: str, + *, + app_id: typing.Optional[str] = OMIT, + metadata: typing.Optional[typing.Dict[str, str]] = OMIT, + request_options: typing.Optional[RequestOptions] = None, + ) -> Domain: + """ + Reassigns a domain to another app in the same account or replaces its metadata. The hostname and owning account cannot be edited. + + Parameters + ---------- + id : str + Domain ID, prefixed dom_. + + app_id : typing.Optional[str] + App ID, prefixed app_. Must belong to the same account. + + metadata : typing.Optional[typing.Dict[str, str]] + Replacement custom string keys and values. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Domain + Domain updated + + Examples + -------- + from whop_sdk import Whop + + client = Whop( + "2026-09-09", + idempotency_key="YOUR_IDEMPOTENCY_KEY", + token="YOUR_TOKEN", + ) + client.domains.update( + id="id", + ) + """ + _response = self._raw_client.update(id, app_id=app_id, metadata=metadata, request_options=request_options) + return _response.data + + +class AsyncDomainsClient: + def __init__(self, *, client_wrapper: AsyncClientWrapper): + self._raw_client = AsyncRawDomainsClient(client_wrapper=client_wrapper) + + @property + def with_raw_response(self) -> AsyncRawDomainsClient: + """ + Retrieves a raw implementation of this client that returns raw responses. + + Returns + ------- + AsyncRawDomainsClient + """ + return self._raw_client + + async def list( + self, + *, + account_id: typing.Optional[str] = None, + app_id: typing.Optional[str] = None, + status: typing.Optional[ListDomainsRequestStatus] = None, + order: typing.Optional[ListDomainsRequestOrder] = None, + direction: typing.Optional[ListDomainsRequestDirection] = None, + first: typing.Optional[int] = None, + after: typing.Optional[str] = None, + last: typing.Optional[int] = None, + before: typing.Optional[str] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> AsyncPager[Domain, ListDomainsResponse]: + """ + Lists the caller's domain claims and assignments. Filter by account, app, or lifecycle status. + + Parameters + ---------- + account_id : typing.Optional[str] + Only domains belonging to this account, prefixed biz_. + + app_id : typing.Optional[str] + Only domains assigned to this app, prefixed app_. + + status : typing.Optional[ListDomainsRequestStatus] + Only domains with this lifecycle status. + + order : typing.Optional[ListDomainsRequestOrder] + Field to sort by. + + direction : typing.Optional[ListDomainsRequestDirection] + Sort direction. + + first : typing.Optional[int] + Number of domains from the start of the page. + + after : typing.Optional[str] + Cursor for the next page. + + last : typing.Optional[int] + Number of domains from the end of the page. + + before : typing.Optional[str] + Cursor for the previous page. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncPager[Domain, ListDomainsResponse] + Domain list + + Examples + -------- + import asyncio + + from whop_sdk import AsyncWhop + + client = AsyncWhop( + "2026-09-09", + idempotency_key="YOUR_IDEMPOTENCY_KEY", + token="YOUR_TOKEN", + ) + + + async def main() -> None: + response = await client.domains.list() + async for item in response: + yield item + + # alternatively, you can paginate page-by-page + async for page in response.iter_pages(): + yield page + + + asyncio.run(main()) + """ + return await self._raw_client.list( + account_id=account_id, + app_id=app_id, + status=status, + order=order, + direction=direction, + first=first, + after=after, + last=last, + before=before, + request_options=request_options, + ) + + async def create( + self, + *, + app_id: str, + domain: str, + account_id: typing.Optional[str] = OMIT, + metadata: typing.Optional[typing.Dict[str, str]] = OMIT, + replace_existing: typing.Optional[bool] = OMIT, + request_options: typing.Optional[RequestOptions] = None, + ) -> Domain: + """ + Creates an unverified claim and returns DNS instructions. A claim does not reserve the hostname globally. Publish its unique TXT record; ownership verification, DNS checks, and certificate provisioning run automatically. Unverified claims are deleted after 48 hours. + + Parameters + ---------- + app_id : str + App ID, prefixed app_. The app must belong to the account. + + domain : str + Bare hostname, such as example.com or checkout.example.com. Wildcards, paths, schemes, and ports are not accepted. + + account_id : typing.Optional[str] + Account ID, prefixed biz_. Required for user credentials; otherwise defaults to the credential's account. + + metadata : typing.Optional[typing.Dict[str, str]] + Custom string keys and values. + + replace_existing : typing.Optional[bool] + Explicitly transfer a domain from its current owner after publishing this new claim's TXT proof. Create the claim after the current owner verified. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Domain + Domain claim created + + Examples + -------- + import asyncio + + from whop_sdk import AsyncWhop + + client = AsyncWhop( + "2026-09-09", + idempotency_key="YOUR_IDEMPOTENCY_KEY", + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.domains.create( + app_id="app_xxxxxxxxxxxxxx", + domain="store.example.com", + ) + + + asyncio.run(main()) + """ + _response = await self._raw_client.create( + app_id=app_id, + domain=domain, + account_id=account_id, + metadata=metadata, + replace_existing=replace_existing, + request_options=request_options, + ) + return _response.data + + async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Domain: + """ + Retrieves the claim, app assignment, DNS instructions, and the latest hostname and certificate state. For domains still connecting, needing attention, or being deleted, requests an immediate background check. + + Parameters + ---------- + id : str + Domain ID, prefixed dom_. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Domain + Domain details + + Examples + -------- + import asyncio + + from whop_sdk import AsyncWhop + + client = AsyncWhop( + "2026-09-09", + idempotency_key="YOUR_IDEMPOTENCY_KEY", + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.domains.retrieve( + id="id", + ) + + + asyncio.run(main()) + """ + _response = await self._raw_client.retrieve(id, request_options=request_options) + return _response.data + + async def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Domain: + """ + Stops resolving the domain to its app and queues Cloudflare cleanup. The response is deleting; retrieve the resource until it is removed. + + Parameters + ---------- + id : str + Domain ID, prefixed dom_. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Domain + Domain deletion requested + + Examples + -------- + import asyncio + + from whop_sdk import AsyncWhop + + client = AsyncWhop( + "2026-09-09", + idempotency_key="YOUR_IDEMPOTENCY_KEY", + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.domains.delete( + id="id", + ) + + + asyncio.run(main()) + """ + _response = await self._raw_client.delete(id, request_options=request_options) + return _response.data + + async def update( + self, + id: str, + *, + app_id: typing.Optional[str] = OMIT, + metadata: typing.Optional[typing.Dict[str, str]] = OMIT, + request_options: typing.Optional[RequestOptions] = None, + ) -> Domain: + """ + Reassigns a domain to another app in the same account or replaces its metadata. The hostname and owning account cannot be edited. + + Parameters + ---------- + id : str + Domain ID, prefixed dom_. + + app_id : typing.Optional[str] + App ID, prefixed app_. Must belong to the same account. + + metadata : typing.Optional[typing.Dict[str, str]] + Replacement custom string keys and values. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Domain + Domain updated + + Examples + -------- + import asyncio + + from whop_sdk import AsyncWhop + + client = AsyncWhop( + "2026-09-09", + idempotency_key="YOUR_IDEMPOTENCY_KEY", + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.domains.update( + id="id", + ) + + + asyncio.run(main()) + """ + _response = await self._raw_client.update(id, app_id=app_id, metadata=metadata, request_options=request_options) + return _response.data diff --git a/src/whop_sdk/domains/raw_client.py b/src/whop_sdk/domains/raw_client.py new file mode 100644 index 00000000..54c46fea --- /dev/null +++ b/src/whop_sdk/domains/raw_client.py @@ -0,0 +1,711 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing +from json.decoder import JSONDecodeError + +from ..core.api_error import ApiError +from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper +from ..core.http_response import AsyncHttpResponse, HttpResponse +from ..core.jsonable_encoder import encode_path_param +from ..core.pagination import AsyncPager, SyncPager +from ..core.parse_error import ParsingError +from ..core.pydantic_utilities import parse_obj_as +from ..core.request_options import RequestOptions +from ..errors.conflict_error import ConflictError +from ..types.domain import Domain +from ..types.v1error_response import V1ErrorResponse +from .types.list_domains_request_direction import ListDomainsRequestDirection +from .types.list_domains_request_order import ListDomainsRequestOrder +from .types.list_domains_request_status import ListDomainsRequestStatus +from .types.list_domains_response import ListDomainsResponse +from pydantic import ValidationError + +# this is used as the default value for optional parameters +OMIT = typing.cast(typing.Any, ...) + + +class RawDomainsClient: + def __init__(self, *, client_wrapper: SyncClientWrapper): + self._client_wrapper = client_wrapper + + def list( + self, + *, + account_id: typing.Optional[str] = None, + app_id: typing.Optional[str] = None, + status: typing.Optional[ListDomainsRequestStatus] = None, + order: typing.Optional[ListDomainsRequestOrder] = None, + direction: typing.Optional[ListDomainsRequestDirection] = None, + first: typing.Optional[int] = None, + after: typing.Optional[str] = None, + last: typing.Optional[int] = None, + before: typing.Optional[str] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> SyncPager[Domain, ListDomainsResponse]: + """ + Lists the caller's domain claims and assignments. Filter by account, app, or lifecycle status. + + Parameters + ---------- + account_id : typing.Optional[str] + Only domains belonging to this account, prefixed biz_. + + app_id : typing.Optional[str] + Only domains assigned to this app, prefixed app_. + + status : typing.Optional[ListDomainsRequestStatus] + Only domains with this lifecycle status. + + order : typing.Optional[ListDomainsRequestOrder] + Field to sort by. + + direction : typing.Optional[ListDomainsRequestDirection] + Sort direction. + + first : typing.Optional[int] + Number of domains from the start of the page. + + after : typing.Optional[str] + Cursor for the next page. + + last : typing.Optional[int] + Number of domains from the end of the page. + + before : typing.Optional[str] + Cursor for the previous page. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + SyncPager[Domain, ListDomainsResponse] + Domain list + """ + _response = self._client_wrapper.httpx_client.request( + "domains", + method="GET", + params={ + "account_id": account_id, + "app_id": app_id, + "status": status, + "order": order, + "direction": direction, + "first": first, + "after": after, + "last": last, + "before": before, + }, + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _parsed_response = typing.cast( + ListDomainsResponse, + parse_obj_as( + type_=ListDomainsResponse, # type: ignore + object_=_response.json(), + ), + ) + _items = _parsed_response.data + _has_next = False + _get_next = None + if _parsed_response.page_info is not None: + _parsed_next = _parsed_response.page_info.end_cursor + _has_next = _parsed_next is not None and _parsed_next != "" + _get_next = lambda: self.list( + account_id=account_id, + app_id=app_id, + status=status, + order=order, + direction=direction, + first=first, + after=_parsed_next, + last=last, + before=before, + request_options=request_options, + ) + return SyncPager(has_next=_has_next, items=_items, get_next=_get_next, response=_parsed_response) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + def create( + self, + *, + app_id: str, + domain: str, + account_id: typing.Optional[str] = OMIT, + metadata: typing.Optional[typing.Dict[str, str]] = OMIT, + replace_existing: typing.Optional[bool] = OMIT, + request_options: typing.Optional[RequestOptions] = None, + ) -> HttpResponse[Domain]: + """ + Creates an unverified claim and returns DNS instructions. A claim does not reserve the hostname globally. Publish its unique TXT record; ownership verification, DNS checks, and certificate provisioning run automatically. Unverified claims are deleted after 48 hours. + + Parameters + ---------- + app_id : str + App ID, prefixed app_. The app must belong to the account. + + domain : str + Bare hostname, such as example.com or checkout.example.com. Wildcards, paths, schemes, and ports are not accepted. + + account_id : typing.Optional[str] + Account ID, prefixed biz_. Required for user credentials; otherwise defaults to the credential's account. + + metadata : typing.Optional[typing.Dict[str, str]] + Custom string keys and values. + + replace_existing : typing.Optional[bool] + Explicitly transfer a domain from its current owner after publishing this new claim's TXT proof. Create the claim after the current owner verified. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[Domain] + Domain claim created + """ + _response = self._client_wrapper.httpx_client.request( + "domains", + method="POST", + json={ + "account_id": account_id, + "app_id": app_id, + "domain": domain, + "metadata": metadata, + "replace_existing": replace_existing, + }, + headers={ + "content-type": "application/json", + }, + request_options=request_options, + omit=OMIT, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Domain, + parse_obj_as( + type_=Domain, # type: ignore + object_=_response.json(), + ), + ) + return HttpResponse(response=_response, data=_data) + if _response.status_code == 409: + raise ConflictError( + headers=dict(_response.headers), + body=typing.cast( + V1ErrorResponse, + parse_obj_as( + type_=V1ErrorResponse, # type: ignore + object_=_response.json(), + ), + ), + ) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> HttpResponse[Domain]: + """ + Retrieves the claim, app assignment, DNS instructions, and the latest hostname and certificate state. For domains still connecting, needing attention, or being deleted, requests an immediate background check. + + Parameters + ---------- + id : str + Domain ID, prefixed dom_. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[Domain] + Domain details + """ + _response = self._client_wrapper.httpx_client.request( + f"domains/{encode_path_param(id)}", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Domain, + parse_obj_as( + type_=Domain, # type: ignore + object_=_response.json(), + ), + ) + return HttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> HttpResponse[Domain]: + """ + Stops resolving the domain to its app and queues Cloudflare cleanup. The response is deleting; retrieve the resource until it is removed. + + Parameters + ---------- + id : str + Domain ID, prefixed dom_. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[Domain] + Domain deletion requested + """ + _response = self._client_wrapper.httpx_client.request( + f"domains/{encode_path_param(id)}", + method="DELETE", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Domain, + parse_obj_as( + type_=Domain, # type: ignore + object_=_response.json(), + ), + ) + return HttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + def update( + self, + id: str, + *, + app_id: typing.Optional[str] = OMIT, + metadata: typing.Optional[typing.Dict[str, str]] = OMIT, + request_options: typing.Optional[RequestOptions] = None, + ) -> HttpResponse[Domain]: + """ + Reassigns a domain to another app in the same account or replaces its metadata. The hostname and owning account cannot be edited. + + Parameters + ---------- + id : str + Domain ID, prefixed dom_. + + app_id : typing.Optional[str] + App ID, prefixed app_. Must belong to the same account. + + metadata : typing.Optional[typing.Dict[str, str]] + Replacement custom string keys and values. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[Domain] + Domain updated + """ + _response = self._client_wrapper.httpx_client.request( + f"domains/{encode_path_param(id)}", + method="PATCH", + json={ + "app_id": app_id, + "metadata": metadata, + }, + headers={ + "content-type": "application/json", + }, + request_options=request_options, + omit=OMIT, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Domain, + parse_obj_as( + type_=Domain, # type: ignore + object_=_response.json(), + ), + ) + return HttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + +class AsyncRawDomainsClient: + def __init__(self, *, client_wrapper: AsyncClientWrapper): + self._client_wrapper = client_wrapper + + async def list( + self, + *, + account_id: typing.Optional[str] = None, + app_id: typing.Optional[str] = None, + status: typing.Optional[ListDomainsRequestStatus] = None, + order: typing.Optional[ListDomainsRequestOrder] = None, + direction: typing.Optional[ListDomainsRequestDirection] = None, + first: typing.Optional[int] = None, + after: typing.Optional[str] = None, + last: typing.Optional[int] = None, + before: typing.Optional[str] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> AsyncPager[Domain, ListDomainsResponse]: + """ + Lists the caller's domain claims and assignments. Filter by account, app, or lifecycle status. + + Parameters + ---------- + account_id : typing.Optional[str] + Only domains belonging to this account, prefixed biz_. + + app_id : typing.Optional[str] + Only domains assigned to this app, prefixed app_. + + status : typing.Optional[ListDomainsRequestStatus] + Only domains with this lifecycle status. + + order : typing.Optional[ListDomainsRequestOrder] + Field to sort by. + + direction : typing.Optional[ListDomainsRequestDirection] + Sort direction. + + first : typing.Optional[int] + Number of domains from the start of the page. + + after : typing.Optional[str] + Cursor for the next page. + + last : typing.Optional[int] + Number of domains from the end of the page. + + before : typing.Optional[str] + Cursor for the previous page. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncPager[Domain, ListDomainsResponse] + Domain list + """ + _response = await self._client_wrapper.httpx_client.request( + "domains", + method="GET", + params={ + "account_id": account_id, + "app_id": app_id, + "status": status, + "order": order, + "direction": direction, + "first": first, + "after": after, + "last": last, + "before": before, + }, + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _parsed_response = typing.cast( + ListDomainsResponse, + parse_obj_as( + type_=ListDomainsResponse, # type: ignore + object_=_response.json(), + ), + ) + _items = _parsed_response.data + _has_next = False + _get_next = None + if _parsed_response.page_info is not None: + _parsed_next = _parsed_response.page_info.end_cursor + _has_next = _parsed_next is not None and _parsed_next != "" + + async def _get_next(): + return await self.list( + account_id=account_id, + app_id=app_id, + status=status, + order=order, + direction=direction, + first=first, + after=_parsed_next, + last=last, + before=before, + request_options=request_options, + ) + + return AsyncPager(has_next=_has_next, items=_items, get_next=_get_next, response=_parsed_response) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + async def create( + self, + *, + app_id: str, + domain: str, + account_id: typing.Optional[str] = OMIT, + metadata: typing.Optional[typing.Dict[str, str]] = OMIT, + replace_existing: typing.Optional[bool] = OMIT, + request_options: typing.Optional[RequestOptions] = None, + ) -> AsyncHttpResponse[Domain]: + """ + Creates an unverified claim and returns DNS instructions. A claim does not reserve the hostname globally. Publish its unique TXT record; ownership verification, DNS checks, and certificate provisioning run automatically. Unverified claims are deleted after 48 hours. + + Parameters + ---------- + app_id : str + App ID, prefixed app_. The app must belong to the account. + + domain : str + Bare hostname, such as example.com or checkout.example.com. Wildcards, paths, schemes, and ports are not accepted. + + account_id : typing.Optional[str] + Account ID, prefixed biz_. Required for user credentials; otherwise defaults to the credential's account. + + metadata : typing.Optional[typing.Dict[str, str]] + Custom string keys and values. + + replace_existing : typing.Optional[bool] + Explicitly transfer a domain from its current owner after publishing this new claim's TXT proof. Create the claim after the current owner verified. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[Domain] + Domain claim created + """ + _response = await self._client_wrapper.httpx_client.request( + "domains", + method="POST", + json={ + "account_id": account_id, + "app_id": app_id, + "domain": domain, + "metadata": metadata, + "replace_existing": replace_existing, + }, + headers={ + "content-type": "application/json", + }, + request_options=request_options, + omit=OMIT, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Domain, + parse_obj_as( + type_=Domain, # type: ignore + object_=_response.json(), + ), + ) + return AsyncHttpResponse(response=_response, data=_data) + if _response.status_code == 409: + raise ConflictError( + headers=dict(_response.headers), + body=typing.cast( + V1ErrorResponse, + parse_obj_as( + type_=V1ErrorResponse, # type: ignore + object_=_response.json(), + ), + ), + ) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + async def retrieve( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> AsyncHttpResponse[Domain]: + """ + Retrieves the claim, app assignment, DNS instructions, and the latest hostname and certificate state. For domains still connecting, needing attention, or being deleted, requests an immediate background check. + + Parameters + ---------- + id : str + Domain ID, prefixed dom_. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[Domain] + Domain details + """ + _response = await self._client_wrapper.httpx_client.request( + f"domains/{encode_path_param(id)}", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Domain, + parse_obj_as( + type_=Domain, # type: ignore + object_=_response.json(), + ), + ) + return AsyncHttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + async def delete( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> AsyncHttpResponse[Domain]: + """ + Stops resolving the domain to its app and queues Cloudflare cleanup. The response is deleting; retrieve the resource until it is removed. + + Parameters + ---------- + id : str + Domain ID, prefixed dom_. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[Domain] + Domain deletion requested + """ + _response = await self._client_wrapper.httpx_client.request( + f"domains/{encode_path_param(id)}", + method="DELETE", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Domain, + parse_obj_as( + type_=Domain, # type: ignore + object_=_response.json(), + ), + ) + return AsyncHttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + async def update( + self, + id: str, + *, + app_id: typing.Optional[str] = OMIT, + metadata: typing.Optional[typing.Dict[str, str]] = OMIT, + request_options: typing.Optional[RequestOptions] = None, + ) -> AsyncHttpResponse[Domain]: + """ + Reassigns a domain to another app in the same account or replaces its metadata. The hostname and owning account cannot be edited. + + Parameters + ---------- + id : str + Domain ID, prefixed dom_. + + app_id : typing.Optional[str] + App ID, prefixed app_. Must belong to the same account. + + metadata : typing.Optional[typing.Dict[str, str]] + Replacement custom string keys and values. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[Domain] + Domain updated + """ + _response = await self._client_wrapper.httpx_client.request( + f"domains/{encode_path_param(id)}", + method="PATCH", + json={ + "app_id": app_id, + "metadata": metadata, + }, + headers={ + "content-type": "application/json", + }, + request_options=request_options, + omit=OMIT, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Domain, + parse_obj_as( + type_=Domain, # type: ignore + object_=_response.json(), + ), + ) + return AsyncHttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) diff --git a/src/whop_sdk/domains/types/__init__.py b/src/whop_sdk/domains/types/__init__.py new file mode 100644 index 00000000..a6377bc7 --- /dev/null +++ b/src/whop_sdk/domains/types/__init__.py @@ -0,0 +1,50 @@ +# This file was auto-generated by Fern from our API Definition. + +# isort: skip_file + +import typing +from importlib import import_module + +if typing.TYPE_CHECKING: + from .list_domains_request_direction import ListDomainsRequestDirection + from .list_domains_request_order import ListDomainsRequestOrder + from .list_domains_request_status import ListDomainsRequestStatus + from .list_domains_response import ListDomainsResponse + from .list_domains_response_page_info import ListDomainsResponsePageInfo +_dynamic_imports: typing.Dict[str, str] = { + "ListDomainsRequestDirection": ".list_domains_request_direction", + "ListDomainsRequestOrder": ".list_domains_request_order", + "ListDomainsRequestStatus": ".list_domains_request_status", + "ListDomainsResponse": ".list_domains_response", + "ListDomainsResponsePageInfo": ".list_domains_response_page_info", +} + + +def __getattr__(attr_name: str) -> typing.Any: + module_name = _dynamic_imports.get(attr_name) + if module_name is None: + raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}") + try: + module = import_module(module_name, __package__) + if module_name == f".{attr_name}": + return module + else: + return getattr(module, attr_name) + except ImportError as e: + raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e + except AttributeError as e: + raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e + + +def __dir__(): + lazy_attrs = list(_dynamic_imports.keys()) + return sorted(lazy_attrs) + + +__all__ = [ + "ListDomainsRequestDirection", + "ListDomainsRequestOrder", + "ListDomainsRequestStatus", + "ListDomainsResponse", + "ListDomainsResponsePageInfo", +] diff --git a/src/whop_sdk/domains/types/list_domains_request_direction.py b/src/whop_sdk/domains/types/list_domains_request_direction.py new file mode 100644 index 00000000..37ec7663 --- /dev/null +++ b/src/whop_sdk/domains/types/list_domains_request_direction.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +ListDomainsRequestDirection = typing.Union[typing.Literal["asc", "desc"], typing.Any] diff --git a/src/whop_sdk/domains/types/list_domains_request_order.py b/src/whop_sdk/domains/types/list_domains_request_order.py new file mode 100644 index 00000000..9b8a9b3e --- /dev/null +++ b/src/whop_sdk/domains/types/list_domains_request_order.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +ListDomainsRequestOrder = typing.Union[typing.Literal["created_at", "updated_at"], typing.Any] diff --git a/src/whop_sdk/domains/types/list_domains_request_status.py b/src/whop_sdk/domains/types/list_domains_request_status.py new file mode 100644 index 00000000..b85f1229 --- /dev/null +++ b/src/whop_sdk/domains/types/list_domains_request_status.py @@ -0,0 +1,8 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +ListDomainsRequestStatus = typing.Union[ + typing.Literal["pending_verification", "provisioning", "active", "action_required", "deleting", "removed"], + typing.Any, +] diff --git a/src/whop_sdk/domains/types/list_domains_response.py b/src/whop_sdk/domains/types/list_domains_response.py new file mode 100644 index 00000000..02ef24f8 --- /dev/null +++ b/src/whop_sdk/domains/types/list_domains_response.py @@ -0,0 +1,22 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel +from ...types.domain import Domain +from .list_domains_response_page_info import ListDomainsResponsePageInfo + + +class ListDomainsResponse(UniversalBaseModel): + data: typing.List[Domain] + page_info: ListDomainsResponsePageInfo + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/whop_sdk/domains/types/list_domains_response_page_info.py b/src/whop_sdk/domains/types/list_domains_response_page_info.py new file mode 100644 index 00000000..b93209d8 --- /dev/null +++ b/src/whop_sdk/domains/types/list_domains_response_page_info.py @@ -0,0 +1,22 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel + + +class ListDomainsResponsePageInfo(UniversalBaseModel): + end_cursor: typing.Optional[str] = None + has_next_page: bool + has_previous_page: bool + start_cursor: typing.Optional[str] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/whop_sdk/entries/client.py b/src/whop_sdk/entries/client.py index dfdbfdf5..ced1a504 100644 --- a/src/whop_sdk/entries/client.py +++ b/src/whop_sdk/entries/client.py @@ -106,7 +106,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -169,7 +169,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -205,7 +205,7 @@ def approve(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -243,7 +243,7 @@ def deny(self, id: str, *, request_options: typing.Optional[RequestOptions] = No from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -346,7 +346,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -418,7 +418,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -464,7 +464,7 @@ async def approve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -510,7 +510,7 @@ async def deny(self, id: str, *, request_options: typing.Optional[RequestOptions from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/events/client.py b/src/whop_sdk/events/client.py index 0d88c5c8..1417ff1d 100644 --- a/src/whop_sdk/events/client.py +++ b/src/whop_sdk/events/client.py @@ -138,7 +138,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -277,7 +277,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -350,7 +350,7 @@ def pulse( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -396,7 +396,7 @@ def validate_pixel( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -522,7 +522,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -670,7 +670,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -751,7 +751,7 @@ async def pulse( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -806,7 +806,7 @@ async def validate_pixel( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/experiences/client.py b/src/whop_sdk/experiences/client.py index 02a04feb..9151a209 100644 --- a/src/whop_sdk/experiences/client.py +++ b/src/whop_sdk/experiences/client.py @@ -94,7 +94,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -182,7 +182,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -225,7 +225,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -259,7 +259,7 @@ def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -326,7 +326,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -377,7 +377,7 @@ def attach( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -419,7 +419,7 @@ def detach( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -464,7 +464,7 @@ def duplicate( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -553,7 +553,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -650,7 +650,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -701,7 +701,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -743,7 +743,7 @@ async def delete(self, id: str, *, request_options: typing.Optional[RequestOptio from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -818,7 +818,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -877,7 +877,7 @@ async def attach( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -927,7 +927,7 @@ async def detach( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -980,7 +980,7 @@ async def duplicate( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/exports/client.py b/src/whop_sdk/exports/client.py index c246970b..6454543c 100644 --- a/src/whop_sdk/exports/client.py +++ b/src/whop_sdk/exports/client.py @@ -83,7 +83,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -144,7 +144,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -184,7 +184,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -264,7 +264,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -333,7 +333,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -381,7 +381,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/fee_markups/client.py b/src/whop_sdk/fee_markups/client.py index d2b8a0f6..df2efd8b 100644 --- a/src/whop_sdk/fee_markups/client.py +++ b/src/whop_sdk/fee_markups/client.py @@ -76,7 +76,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -145,7 +145,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -190,7 +190,7 @@ def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -265,7 +265,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -343,7 +343,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -396,7 +396,7 @@ async def delete(self, id: str, *, request_options: typing.Optional[RequestOptio from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/files/client.py b/src/whop_sdk/files/client.py index 01b0469d..83dca400 100644 --- a/src/whop_sdk/files/client.py +++ b/src/whop_sdk/files/client.py @@ -83,7 +83,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -146,7 +146,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -185,7 +185,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -232,7 +232,7 @@ def complete( from whop_sdk.files import CompleteFilesRequestMultipartPartsItem client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -324,7 +324,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -396,7 +396,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -443,7 +443,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -498,7 +498,7 @@ async def complete( from whop_sdk.files import CompleteFilesRequestMultipartPartsItem client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/financial_activity/client.py b/src/whop_sdk/financial_activity/client.py index 682125bc..d0d76cce 100644 --- a/src/whop_sdk/financial_activity/client.py +++ b/src/whop_sdk/financial_activity/client.py @@ -117,7 +117,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -253,7 +253,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/financial_activity/types/list_financial_activity_request_line_types_item.py b/src/whop_sdk/financial_activity/types/list_financial_activity_request_line_types_item.py index 905c1c2f..3640d811 100644 --- a/src/whop_sdk/financial_activity/types/list_financial_activity_request_line_types_item.py +++ b/src/whop_sdk/financial_activity/types/list_financial_activity_request_line_types_item.py @@ -103,6 +103,8 @@ "platform_balance_transfer_outgoing", "platform_covered_dispute", "platform_earning", + "platform_markup_fee", + "platform_markup_fee_payout", "promo_reversal", "referral_bonus", "resolution_center_refund", diff --git a/src/whop_sdk/financial_reports/breakdown/client.py b/src/whop_sdk/financial_reports/breakdown/client.py index f4dbe080..99f3ae60 100644 --- a/src/whop_sdk/financial_reports/breakdown/client.py +++ b/src/whop_sdk/financial_reports/breakdown/client.py @@ -84,7 +84,7 @@ def retrieve( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -188,7 +188,7 @@ async def retrieve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/financial_reports/breakdown/types/retrieve_breakdown_request_bucket.py b/src/whop_sdk/financial_reports/breakdown/types/retrieve_breakdown_request_bucket.py index 5d2a02b9..54005641 100644 --- a/src/whop_sdk/financial_reports/breakdown/types/retrieve_breakdown_request_bucket.py +++ b/src/whop_sdk/financial_reports/breakdown/types/retrieve_breakdown_request_bucket.py @@ -12,6 +12,7 @@ "card_spend", "card_authorization_releases", "withdrawals", + "withdrawal_markup", "swaps", ], typing.Any, diff --git a/src/whop_sdk/financial_reports/breakdown/types/retrieve_breakdown_response_bucket.py b/src/whop_sdk/financial_reports/breakdown/types/retrieve_breakdown_response_bucket.py index 5988f09b..d79f6b38 100644 --- a/src/whop_sdk/financial_reports/breakdown/types/retrieve_breakdown_response_bucket.py +++ b/src/whop_sdk/financial_reports/breakdown/types/retrieve_breakdown_response_bucket.py @@ -12,6 +12,7 @@ "card_spend", "card_authorization_releases", "withdrawals", + "withdrawal_markup", "swaps", ], typing.Any, diff --git a/src/whop_sdk/financial_reports/client.py b/src/whop_sdk/financial_reports/client.py index 9e823417..469cabfe 100644 --- a/src/whop_sdk/financial_reports/client.py +++ b/src/whop_sdk/financial_reports/client.py @@ -115,7 +115,7 @@ def retrieve( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -250,7 +250,7 @@ async def retrieve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/financial_reports/types/retrieve_financial_reports_request_line_types_item.py b/src/whop_sdk/financial_reports/types/retrieve_financial_reports_request_line_types_item.py index 3d37fe34..c338c896 100644 --- a/src/whop_sdk/financial_reports/types/retrieve_financial_reports_request_line_types_item.py +++ b/src/whop_sdk/financial_reports/types/retrieve_financial_reports_request_line_types_item.py @@ -103,6 +103,8 @@ "platform_balance_transfer_outgoing", "platform_covered_dispute", "platform_earning", + "platform_markup_fee", + "platform_markup_fee_payout", "promo_reversal", "referral_bonus", "resolution_center_refund", diff --git a/src/whop_sdk/financial_reports/types/retrieve_financial_reports_response_rows_item_line_category.py b/src/whop_sdk/financial_reports/types/retrieve_financial_reports_response_rows_item_line_category.py index 03cd3ab6..c0f26e3a 100644 --- a/src/whop_sdk/financial_reports/types/retrieve_financial_reports_response_rows_item_line_category.py +++ b/src/whop_sdk/financial_reports/types/retrieve_financial_reports_response_rows_item_line_category.py @@ -171,6 +171,8 @@ "platform_earning", "platform_earning_settlement", "platform_earning_unreconciled_clearing", + "platform_markup_fee", + "platform_markup_fee_payout", "promo_reversal", "psp_accelerated_settlement_fee", "psp_account_debit", diff --git a/src/whop_sdk/forum_posts/client.py b/src/whop_sdk/forum_posts/client.py index 0eaa4a04..39571f07 100644 --- a/src/whop_sdk/forum_posts/client.py +++ b/src/whop_sdk/forum_posts/client.py @@ -92,7 +92,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -197,7 +197,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -248,7 +248,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -306,7 +306,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -401,7 +401,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -515,7 +515,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -574,7 +574,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -640,7 +640,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/forums/client.py b/src/whop_sdk/forums/client.py index c0385c0e..7ac071a7 100644 --- a/src/whop_sdk/forums/client.py +++ b/src/whop_sdk/forums/client.py @@ -83,7 +83,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -134,7 +134,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -195,7 +195,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -282,7 +282,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -342,7 +342,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -411,7 +411,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/identity_profiles/client.py b/src/whop_sdk/identity_profiles/client.py index 46a28179..df120da0 100644 --- a/src/whop_sdk/identity_profiles/client.py +++ b/src/whop_sdk/identity_profiles/client.py @@ -84,7 +84,7 @@ def list_identity_profile( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -137,7 +137,7 @@ def retrieve_identity_profile( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -175,7 +175,7 @@ def unlink_identity_profile( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -235,7 +235,7 @@ def list_verifications_identity_profile( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -324,7 +324,7 @@ async def list_identity_profile( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -386,7 +386,7 @@ async def retrieve_identity_profile( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -432,7 +432,7 @@ async def unlink_identity_profile( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -500,7 +500,7 @@ async def list_verifications_identity_profile( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/invoices/client.py b/src/whop_sdk/invoices/client.py index 7a54bbaf..51f9fa5f 100644 --- a/src/whop_sdk/invoices/client.py +++ b/src/whop_sdk/invoices/client.py @@ -114,7 +114,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -185,7 +185,7 @@ def create( ) client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -231,7 +231,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -267,7 +267,7 @@ def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -367,7 +367,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -420,7 +420,7 @@ def mark_paid(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -456,7 +456,7 @@ def mark_uncollectible(self, id: str, *, request_options: typing.Optional[Reques from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -492,7 +492,7 @@ def resend(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -528,7 +528,7 @@ def void(self, id: str, *, request_options: typing.Optional[RequestOptions] = No from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -632,7 +632,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -712,7 +712,7 @@ async def create( ) client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -766,7 +766,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -810,7 +810,7 @@ async def delete(self, id: str, *, request_options: typing.Optional[RequestOptio from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -918,7 +918,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -979,7 +979,7 @@ async def mark_paid(self, id: str, *, request_options: typing.Optional[RequestOp from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1023,7 +1023,7 @@ async def mark_uncollectible(self, id: str, *, request_options: typing.Optional[ from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1067,7 +1067,7 @@ async def resend(self, id: str, *, request_options: typing.Optional[RequestOptio from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1111,7 +1111,7 @@ async def void(self, id: str, *, request_options: typing.Optional[RequestOptions from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/leads/client.py b/src/whop_sdk/leads/client.py index 62a68721..9a4953a1 100644 --- a/src/whop_sdk/leads/client.py +++ b/src/whop_sdk/leads/client.py @@ -93,7 +93,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -175,7 +175,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -221,7 +221,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -273,7 +273,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -364,7 +364,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -455,7 +455,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -509,7 +509,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -569,7 +569,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/ledger_accounts/client.py b/src/whop_sdk/ledger_accounts/client.py index 57c777f5..2a0311be 100644 --- a/src/whop_sdk/ledger_accounts/client.py +++ b/src/whop_sdk/ledger_accounts/client.py @@ -49,7 +49,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -104,7 +104,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/media/client.py b/src/whop_sdk/media/client.py index c1259666..ef76ea45 100644 --- a/src/whop_sdk/media/client.py +++ b/src/whop_sdk/media/client.py @@ -75,7 +75,7 @@ def generate( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -117,7 +117,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -193,7 +193,7 @@ async def generate( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -243,7 +243,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/members/client.py b/src/whop_sdk/members/client.py index 06a71c2a..b160c40b 100644 --- a/src/whop_sdk/members/client.py +++ b/src/whop_sdk/members/client.py @@ -111,7 +111,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -163,7 +163,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -277,7 +277,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -338,7 +338,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/members/logs/client.py b/src/whop_sdk/members/logs/client.py index 98ba7366..f07a174d 100644 --- a/src/whop_sdk/members/logs/client.py +++ b/src/whop_sdk/members/logs/client.py @@ -68,7 +68,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -146,7 +146,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/memberships/client.py b/src/whop_sdk/memberships/client.py index 7f55587c..9965dc7a 100644 --- a/src/whop_sdk/memberships/client.py +++ b/src/whop_sdk/memberships/client.py @@ -109,7 +109,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -161,7 +161,7 @@ def invite( from whop_sdk.memberships import InviteMembershipsRequestBodyUserId client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -197,7 +197,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -243,7 +243,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -291,7 +291,7 @@ def cancel( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -329,7 +329,7 @@ def extend(self, id: str, *, days: int, request_options: typing.Optional[Request from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -368,7 +368,7 @@ def pause( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -401,7 +401,7 @@ def resume(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -434,7 +434,7 @@ def resync_access(self, id: str, *, request_options: typing.Optional[RequestOpti from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -469,7 +469,7 @@ def transfer( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -573,7 +573,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -634,7 +634,7 @@ async def invite( from whop_sdk.memberships import InviteMembershipsRequestBodyUserId client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -678,7 +678,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -732,7 +732,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -788,7 +788,7 @@ async def cancel( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -836,7 +836,7 @@ async def extend( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -883,7 +883,7 @@ async def pause( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -924,7 +924,7 @@ async def resume(self, id: str, *, request_options: typing.Optional[RequestOptio from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -965,7 +965,7 @@ async def resync_access(self, id: str, *, request_options: typing.Optional[Reque from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1008,7 +1008,7 @@ async def transfer( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/messages/client.py b/src/whop_sdk/messages/client.py index f1399a41..7cfe95fc 100644 --- a/src/whop_sdk/messages/client.py +++ b/src/whop_sdk/messages/client.py @@ -84,7 +84,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -162,7 +162,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -210,7 +210,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -249,7 +249,7 @@ def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -305,7 +305,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -387,7 +387,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -474,7 +474,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -530,7 +530,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -577,7 +577,7 @@ async def delete(self, id: str, *, request_options: typing.Optional[RequestOptio from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -641,7 +641,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/notifications/client.py b/src/whop_sdk/notifications/client.py index 049951c5..08b5f1ad 100644 --- a/src/whop_sdk/notifications/client.py +++ b/src/whop_sdk/notifications/client.py @@ -84,7 +84,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -160,7 +160,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -213,7 +213,7 @@ def badges( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -257,7 +257,7 @@ def mark_read( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -288,7 +288,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -374,7 +374,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -459,7 +459,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -520,7 +520,7 @@ async def badges( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -572,7 +572,7 @@ async def mark_read( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -613,7 +613,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/notifications/topics/client.py b/src/whop_sdk/notifications/topics/client.py index 6a996f57..d160ee4d 100644 --- a/src/whop_sdk/notifications/topics/client.py +++ b/src/whop_sdk/notifications/topics/client.py @@ -61,7 +61,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -127,7 +127,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/partners/businesses/client.py b/src/whop_sdk/partners/businesses/client.py index 6bd17144..e72c12ad 100644 --- a/src/whop_sdk/partners/businesses/client.py +++ b/src/whop_sdk/partners/businesses/client.py @@ -112,7 +112,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -164,7 +164,7 @@ def retrieve( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -278,7 +278,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -339,7 +339,7 @@ async def retrieve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/partners/businesses/earnings/client.py b/src/whop_sdk/partners/businesses/earnings/client.py index 808b1349..b7749df2 100644 --- a/src/whop_sdk/partners/businesses/earnings/client.py +++ b/src/whop_sdk/partners/businesses/earnings/client.py @@ -94,7 +94,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -205,7 +205,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/partners/client.py b/src/whop_sdk/partners/client.py index dfd44820..8009a3d1 100644 --- a/src/whop_sdk/partners/client.py +++ b/src/whop_sdk/partners/client.py @@ -55,7 +55,7 @@ def create(self, *, request_options: typing.Optional[RequestOptions] = None) -> from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -91,7 +91,7 @@ def leaderboard( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -127,7 +127,7 @@ def retrieve_link( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -188,7 +188,7 @@ def referred_users( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -256,7 +256,7 @@ async def create(self, *, request_options: typing.Optional[RequestOptions] = Non from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -300,7 +300,7 @@ async def leaderboard( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -344,7 +344,7 @@ async def retrieve_link( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -413,7 +413,7 @@ async def referred_users( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/payment_method_domains/client.py b/src/whop_sdk/payment_method_domains/client.py index 36b66b5d..346b4e87 100644 --- a/src/whop_sdk/payment_method_domains/client.py +++ b/src/whop_sdk/payment_method_domains/client.py @@ -105,7 +105,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -163,7 +163,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -196,7 +196,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -231,7 +231,7 @@ def delete( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -264,7 +264,7 @@ def verify(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -364,7 +364,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -431,7 +431,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -476,7 +476,7 @@ async def retrieve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -519,7 +519,7 @@ async def delete( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -560,7 +560,7 @@ async def verify(self, id: str, *, request_options: typing.Optional[RequestOptio from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/payment_methods/client.py b/src/whop_sdk/payment_methods/client.py index 5faae7df..b53b2633 100644 --- a/src/whop_sdk/payment_methods/client.py +++ b/src/whop_sdk/payment_methods/client.py @@ -124,7 +124,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -204,7 +204,7 @@ def retrieve( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -257,7 +257,7 @@ def delete_payment_method( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -381,7 +381,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -470,7 +470,7 @@ async def retrieve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -531,7 +531,7 @@ async def delete_payment_method( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/payments/client.py b/src/whop_sdk/payments/client.py index 97034aa0..0f818e3e 100644 --- a/src/whop_sdk/payments/client.py +++ b/src/whop_sdk/payments/client.py @@ -130,7 +130,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -176,6 +176,7 @@ def create( payment_method_id: typing.Optional[str] = OMIT, promo_code_id: typing.Optional[str] = OMIT, return_url: typing.Optional[str] = OMIT, + statement_descriptor: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> Payment: """ @@ -213,6 +214,9 @@ def create( return_url : typing.Optional[str] Where the buyer continues after completing an off-site step. An absolute https URL without credentials, at most 2,048 characters. Ignored unless `confirmation_token` is provided. + statement_descriptor : typing.Optional[str] + Overrides the text on the buyer's card statement for this payment only. Takes precedence over the product's and account's custom descriptors, and changes neither. Must start with `WHOP*`, be 5-22 characters, contain at least one letter, and use only Latin letters, numbers, spaces, underscores, hyphens, or asterisks. + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -226,7 +230,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -246,6 +250,7 @@ def create( payment_method_id=payment_method_id, promo_code_id=promo_code_id, return_url=return_url, + statement_descriptor=statement_descriptor, request_options=request_options, ) return _response.data @@ -272,7 +277,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -305,7 +310,7 @@ def capture(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -340,7 +345,7 @@ def list_fees( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -382,7 +387,7 @@ def refund( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -415,7 +420,7 @@ def retry(self, id: str, *, request_options: typing.Optional[RequestOptions] = N from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -448,7 +453,7 @@ def void(self, id: str, *, request_options: typing.Optional[RequestOptions] = No from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -481,7 +486,7 @@ def resume(self, payment_id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -519,7 +524,7 @@ def update_return_url( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -557,7 +562,7 @@ def retrieve_status( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -681,7 +686,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -734,6 +739,7 @@ async def create( payment_method_id: typing.Optional[str] = OMIT, promo_code_id: typing.Optional[str] = OMIT, return_url: typing.Optional[str] = OMIT, + statement_descriptor: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> Payment: """ @@ -771,6 +777,9 @@ async def create( return_url : typing.Optional[str] Where the buyer continues after completing an off-site step. An absolute https URL without credentials, at most 2,048 characters. Ignored unless `confirmation_token` is provided. + statement_descriptor : typing.Optional[str] + Overrides the text on the buyer's card statement for this payment only. Takes precedence over the product's and account's custom descriptors, and changes neither. Must start with `WHOP*`, be 5-22 characters, contain at least one letter, and use only Latin letters, numbers, spaces, underscores, hyphens, or asterisks. + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -786,7 +795,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -812,6 +821,7 @@ async def main() -> None: payment_method_id=payment_method_id, promo_code_id=promo_code_id, return_url=return_url, + statement_descriptor=statement_descriptor, request_options=request_options, ) return _response.data @@ -840,7 +850,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -881,7 +891,7 @@ async def capture(self, id: str, *, request_options: typing.Optional[RequestOpti from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -924,7 +934,7 @@ async def list_fees( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -974,7 +984,7 @@ async def refund( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1015,7 +1025,7 @@ async def retry(self, id: str, *, request_options: typing.Optional[RequestOption from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1056,7 +1066,7 @@ async def void(self, id: str, *, request_options: typing.Optional[RequestOptions from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1099,7 +1109,7 @@ async def resume( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1145,7 +1155,7 @@ async def update_return_url( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1191,7 +1201,7 @@ async def retrieve_status( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/payments/raw_client.py b/src/whop_sdk/payments/raw_client.py index 850eb0fb..1d7aa9d3 100644 --- a/src/whop_sdk/payments/raw_client.py +++ b/src/whop_sdk/payments/raw_client.py @@ -233,6 +233,7 @@ def create( payment_method_id: typing.Optional[str] = OMIT, promo_code_id: typing.Optional[str] = OMIT, return_url: typing.Optional[str] = OMIT, + statement_descriptor: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[Payment]: """ @@ -270,6 +271,9 @@ def create( return_url : typing.Optional[str] Where the buyer continues after completing an off-site step. An absolute https URL without credentials, at most 2,048 characters. Ignored unless `confirmation_token` is provided. + statement_descriptor : typing.Optional[str] + Overrides the text on the buyer's card statement for this payment only. Takes precedence over the product's and account's custom descriptors, and changes neither. Must start with `WHOP*`, be 5-22 characters, contain at least one letter, and use only Latin letters, numbers, spaces, underscores, hyphens, or asterisks. + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -292,6 +296,7 @@ def create( "plan_id": plan_id, "promo_code_id": promo_code_id, "return_url": return_url, + "statement_descriptor": statement_descriptor, }, headers={ "content-type": "application/json", @@ -1312,6 +1317,7 @@ async def create( payment_method_id: typing.Optional[str] = OMIT, promo_code_id: typing.Optional[str] = OMIT, return_url: typing.Optional[str] = OMIT, + statement_descriptor: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[Payment]: """ @@ -1349,6 +1355,9 @@ async def create( return_url : typing.Optional[str] Where the buyer continues after completing an off-site step. An absolute https URL without credentials, at most 2,048 characters. Ignored unless `confirmation_token` is provided. + statement_descriptor : typing.Optional[str] + Overrides the text on the buyer's card statement for this payment only. Takes precedence over the product's and account's custom descriptors, and changes neither. Must start with `WHOP*`, be 5-22 characters, contain at least one letter, and use only Latin letters, numbers, spaces, underscores, hyphens, or asterisks. + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -1371,6 +1380,7 @@ async def create( "plan_id": plan_id, "promo_code_id": promo_code_id, "return_url": return_url, + "statement_descriptor": statement_descriptor, }, headers={ "content-type": "application/json", diff --git a/src/whop_sdk/payout_accounts/client.py b/src/whop_sdk/payout_accounts/client.py index c6b1305b..81f0f7bd 100644 --- a/src/whop_sdk/payout_accounts/client.py +++ b/src/whop_sdk/payout_accounts/client.py @@ -48,7 +48,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -102,7 +102,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/payout_methods/client.py b/src/whop_sdk/payout_methods/client.py index ed5c8495..5cc4e1d9 100644 --- a/src/whop_sdk/payout_methods/client.py +++ b/src/whop_sdk/payout_methods/client.py @@ -72,7 +72,7 @@ def list_payout_method( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -118,7 +118,7 @@ def retrieve_payout_method( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -193,7 +193,7 @@ async def list_payout_method( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -248,7 +248,7 @@ async def retrieve_payout_method( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/payouts/client.py b/src/whop_sdk/payouts/client.py index 2eabf0cd..164a5e1e 100644 --- a/src/whop_sdk/payouts/client.py +++ b/src/whop_sdk/payouts/client.py @@ -116,7 +116,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -214,7 +214,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -295,7 +295,7 @@ def create_quote( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -352,7 +352,7 @@ def retrieve( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -400,7 +400,7 @@ def cancel( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -519,7 +519,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -626,7 +626,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -715,7 +715,7 @@ async def create_quote( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -780,7 +780,7 @@ async def retrieve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -836,7 +836,7 @@ async def cancel( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/payouts/methods/client.py b/src/whop_sdk/payouts/methods/client.py index 02900b79..b0ba87f3 100644 --- a/src/whop_sdk/payouts/methods/client.py +++ b/src/whop_sdk/payouts/methods/client.py @@ -95,7 +95,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -171,7 +171,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -213,7 +213,7 @@ def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -259,7 +259,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -353,7 +353,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -438,7 +438,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -490,7 +490,7 @@ async def delete( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -544,7 +544,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/payouts/methods/types/list_methods_response_limits_standard_error_code.py b/src/whop_sdk/payouts/methods/types/list_methods_response_limits_standard_error_code.py index 80d9621e..9432068e 100644 --- a/src/whop_sdk/payouts/methods/types/list_methods_response_limits_standard_error_code.py +++ b/src/whop_sdk/payouts/methods/types/list_methods_response_limits_standard_error_code.py @@ -7,13 +7,13 @@ "account_suspended", "block_move_money_out_because_clawback", "supportability_check_payout_status_hold", + "card_usage_review_payout_status_hold", "kyc_completed", "rmi_clear", "identity_rfi_clear", "ecommerce_fulfillment_connected", "block_move_money_out", "block_move_money_out_set_by_parent", - "card_usage_review_payout_status_hold", "no_available_balance", ], typing.Any, diff --git a/src/whop_sdk/payouts/supported_methods/client.py b/src/whop_sdk/payouts/supported_methods/client.py index dd53e206..1e4669c7 100644 --- a/src/whop_sdk/payouts/supported_methods/client.py +++ b/src/whop_sdk/payouts/supported_methods/client.py @@ -92,7 +92,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -203,7 +203,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/people/client.py b/src/whop_sdk/people/client.py index 4419a710..37cca5f8 100644 --- a/src/whop_sdk/people/client.py +++ b/src/whop_sdk/people/client.py @@ -157,7 +157,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -232,7 +232,7 @@ def retrieve( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -388,7 +388,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -472,7 +472,7 @@ async def retrieve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/permissions/client.py b/src/whop_sdk/permissions/client.py index 7a6cdafb..2531b31f 100644 --- a/src/whop_sdk/permissions/client.py +++ b/src/whop_sdk/permissions/client.py @@ -54,7 +54,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -114,7 +114,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/plans/client.py b/src/whop_sdk/plans/client.py index 07c15c9f..9e4e6da9 100644 --- a/src/whop_sdk/plans/client.py +++ b/src/whop_sdk/plans/client.py @@ -118,7 +118,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -274,7 +274,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -332,7 +332,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -365,7 +365,7 @@ def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -507,7 +507,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -587,7 +587,7 @@ def calculate_tax( from whop_sdk.plans import CalculateTaxPlansRequestAddress client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -697,7 +697,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -862,7 +862,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -928,7 +928,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -969,7 +969,7 @@ async def delete(self, id: str, *, request_options: typing.Optional[RequestOptio from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1119,7 +1119,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1207,7 +1207,7 @@ async def calculate_tax( from whop_sdk.plans import CalculateTaxPlansRequestAddress client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/products/client.py b/src/whop_sdk/products/client.py index ae0c528c..1901faeb 100644 --- a/src/whop_sdk/products/client.py +++ b/src/whop_sdk/products/client.py @@ -129,7 +129,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -263,7 +263,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -317,7 +317,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -350,7 +350,7 @@ def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -424,7 +424,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -469,7 +469,7 @@ def publish(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -502,7 +502,7 @@ def unpublish(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -624,7 +624,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -767,7 +767,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -829,7 +829,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -872,7 +872,7 @@ async def delete( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -954,7 +954,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1007,7 +1007,7 @@ async def publish(self, id: str, *, request_options: typing.Optional[RequestOpti from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1048,7 +1048,7 @@ async def unpublish(self, id: str, *, request_options: typing.Optional[RequestOp from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/promo_codes/client.py b/src/whop_sdk/promo_codes/client.py index f476d806..36ac1aee 100644 --- a/src/whop_sdk/promo_codes/client.py +++ b/src/whop_sdk/promo_codes/client.py @@ -107,7 +107,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -206,7 +206,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -262,7 +262,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -295,7 +295,7 @@ def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -328,7 +328,7 @@ def activate(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -361,7 +361,7 @@ def deactivate(self, id: str, *, request_options: typing.Optional[RequestOptions from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -461,7 +461,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -569,7 +569,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -633,7 +633,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -676,7 +676,7 @@ async def delete( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -717,7 +717,7 @@ async def activate(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -758,7 +758,7 @@ async def deactivate(self, id: str, *, request_options: typing.Optional[RequestO from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/reactions/client.py b/src/whop_sdk/reactions/client.py index 62b024d6..41e89ba7 100644 --- a/src/whop_sdk/reactions/client.py +++ b/src/whop_sdk/reactions/client.py @@ -79,7 +79,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -140,7 +140,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -182,7 +182,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -227,7 +227,7 @@ def delete( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -306,7 +306,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -376,7 +376,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -426,7 +426,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -479,7 +479,7 @@ async def delete( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/recommended_actions/client.py b/src/whop_sdk/recommended_actions/client.py index 97fa7553..fe5e42f5 100644 --- a/src/whop_sdk/recommended_actions/client.py +++ b/src/whop_sdk/recommended_actions/client.py @@ -50,7 +50,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -90,7 +90,7 @@ def retrieve( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -132,7 +132,7 @@ def run( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -174,7 +174,7 @@ def list_executions( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -227,7 +227,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -275,7 +275,7 @@ async def retrieve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -325,7 +325,7 @@ async def run( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -375,7 +375,7 @@ async def list_executions( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/recommended_actions/raw_client.py b/src/whop_sdk/recommended_actions/raw_client.py index 0359882f..c5cff9e6 100644 --- a/src/whop_sdk/recommended_actions/raw_client.py +++ b/src/whop_sdk/recommended_actions/raw_client.py @@ -11,6 +11,7 @@ from ..core.pydantic_utilities import parse_obj_as from ..core.request_options import RequestOptions from ..errors.conflict_error import ConflictError +from ..errors.forbidden_error import ForbiddenError from ..errors.not_found_error import NotFoundError from ..errors.unauthorized_error import UnauthorizedError from ..types.account_recommended_action_chain import AccountRecommendedActionChain @@ -73,6 +74,17 @@ def list( ), ), ) + if _response.status_code == 403: + raise ForbiddenError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + parse_obj_as( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) if _response.status_code == 404: raise NotFoundError( headers=dict(_response.headers), @@ -148,6 +160,17 @@ def retrieve( ), ), ) + if _response.status_code == 403: + raise ForbiddenError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + parse_obj_as( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) if _response.status_code == 404: raise NotFoundError( headers=dict(_response.headers), @@ -223,6 +246,17 @@ def run( ), ), ) + if _response.status_code == 403: + raise ForbiddenError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + parse_obj_as( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) if _response.status_code == 404: raise NotFoundError( headers=dict(_response.headers), @@ -309,6 +343,17 @@ def list_executions( ), ), ) + if _response.status_code == 403: + raise ForbiddenError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + parse_obj_as( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) if _response.status_code == 404: raise NotFoundError( headers=dict(_response.headers), @@ -382,6 +427,17 @@ async def list( ), ), ) + if _response.status_code == 403: + raise ForbiddenError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + parse_obj_as( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) if _response.status_code == 404: raise NotFoundError( headers=dict(_response.headers), @@ -457,6 +513,17 @@ async def retrieve( ), ), ) + if _response.status_code == 403: + raise ForbiddenError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + parse_obj_as( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) if _response.status_code == 404: raise NotFoundError( headers=dict(_response.headers), @@ -532,6 +599,17 @@ async def run( ), ), ) + if _response.status_code == 403: + raise ForbiddenError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + parse_obj_as( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) if _response.status_code == 404: raise NotFoundError( headers=dict(_response.headers), @@ -618,6 +696,17 @@ async def list_executions( ), ), ) + if _response.status_code == 403: + raise ForbiddenError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + parse_obj_as( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) if _response.status_code == 404: raise NotFoundError( headers=dict(_response.headers), diff --git a/src/whop_sdk/refunds/client.py b/src/whop_sdk/refunds/client.py index af0998db..f6b3a34d 100644 --- a/src/whop_sdk/refunds/client.py +++ b/src/whop_sdk/refunds/client.py @@ -95,7 +95,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -143,7 +143,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -239,7 +239,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -296,7 +296,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/resolution_center_cases/client.py b/src/whop_sdk/resolution_center_cases/client.py index 9f6f4e88..b5c5473c 100644 --- a/src/whop_sdk/resolution_center_cases/client.py +++ b/src/whop_sdk/resolution_center_cases/client.py @@ -145,7 +145,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -211,7 +211,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -305,7 +305,7 @@ def summary( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -346,7 +346,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -396,7 +396,7 @@ def accept( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -448,7 +448,7 @@ def appeal( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -497,7 +497,7 @@ def deny( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -552,7 +552,7 @@ def events( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -604,7 +604,7 @@ def reply( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -653,7 +653,7 @@ def request_info( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -688,7 +688,7 @@ def withdraw(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -805,7 +805,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -880,7 +880,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -982,7 +982,7 @@ async def summary( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1033,7 +1033,7 @@ async def retrieve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1091,7 +1091,7 @@ async def accept( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1151,7 +1151,7 @@ async def appeal( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1208,7 +1208,7 @@ async def deny( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1273,7 +1273,7 @@ async def events( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1334,7 +1334,7 @@ async def reply( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1391,7 +1391,7 @@ async def request_info( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1436,7 +1436,7 @@ async def withdraw( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/reviews/client.py b/src/whop_sdk/reviews/client.py index 486076db..d1b3bb61 100644 --- a/src/whop_sdk/reviews/client.py +++ b/src/whop_sdk/reviews/client.py @@ -88,7 +88,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -146,7 +146,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -235,7 +235,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -302,7 +302,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/setup_intents/client.py b/src/whop_sdk/setup_intents/client.py index 648c98dd..06ebe1ce 100644 --- a/src/whop_sdk/setup_intents/client.py +++ b/src/whop_sdk/setup_intents/client.py @@ -95,7 +95,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -157,7 +157,7 @@ def create( from whop_sdk.setup_intents import CreateSetupIntentsRequestConfirmationToken client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -198,7 +198,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -236,7 +236,7 @@ def update_return_url( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -274,7 +274,7 @@ def retrieve_status( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -363,7 +363,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -434,7 +434,7 @@ async def create( from whop_sdk.setup_intents import CreateSetupIntentsRequestConfirmationToken client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -483,7 +483,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -529,7 +529,7 @@ async def update_return_url( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -575,7 +575,7 @@ async def retrieve_status( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/shipments/client.py b/src/whop_sdk/shipments/client.py index d6c17d75..58c89b5b 100644 --- a/src/whop_sdk/shipments/client.py +++ b/src/whop_sdk/shipments/client.py @@ -98,7 +98,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -161,7 +161,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -200,7 +200,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -238,7 +238,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -335,7 +335,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -407,7 +407,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -454,7 +454,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -500,7 +500,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/social_accounts/client.py b/src/whop_sdk/social_accounts/client.py index 4ed7b2f2..70bcf40f 100644 --- a/src/whop_sdk/social_accounts/client.py +++ b/src/whop_sdk/social_accounts/client.py @@ -109,7 +109,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -143,12 +143,12 @@ def create( request_options: typing.Optional[RequestOptions] = None, ) -> SocialAccount: """ - Creates or returns a Whop-managed Facebook page for an account. + Creates or returns a Whop-managed Facebook page or TikTok account for an account. Parameters ---------- platform : CreateSocialAccountsRequestPlatform - The platform to create the social account on. `facebook` requires the account's `banner_image`, `logo`, and `description`; configure them with [Update Account](/api-reference/beta/accounts/update-account). + The platform to create the social account on. `facebook` requires the account's `banner_image`, `logo`, and `description`, and `tiktok` requires its `logo`; configure them with [Update Account](/api-reference/beta/accounts/update-account). The account is returned before the platform has created it — its `id` is usable right away, and the rest of the profile fills in once provisioning finishes. account_id : typing.Optional[str] The Account (biz_ identifier) to create the social account for. An account-scoped API key may omit this to default to its own account. Account API keys cannot update their own account's branding through Update Account; use a user-authenticated path. @@ -166,7 +166,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -216,7 +216,7 @@ def connect( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -269,7 +269,7 @@ def delete( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -307,7 +307,7 @@ def lead_forms( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -362,7 +362,7 @@ def posts( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -467,7 +467,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -508,12 +508,12 @@ async def create( request_options: typing.Optional[RequestOptions] = None, ) -> SocialAccount: """ - Creates or returns a Whop-managed Facebook page for an account. + Creates or returns a Whop-managed Facebook page or TikTok account for an account. Parameters ---------- platform : CreateSocialAccountsRequestPlatform - The platform to create the social account on. `facebook` requires the account's `banner_image`, `logo`, and `description`; configure them with [Update Account](/api-reference/beta/accounts/update-account). + The platform to create the social account on. `facebook` requires the account's `banner_image`, `logo`, and `description`, and `tiktok` requires its `logo`; configure them with [Update Account](/api-reference/beta/accounts/update-account). The account is returned before the platform has created it — its `id` is usable right away, and the rest of the profile fills in once provisioning finishes. account_id : typing.Optional[str] The Account (biz_ identifier) to create the social account for. An account-scoped API key may omit this to default to its own account. Account API keys cannot update their own account's branding through Update Account; use a user-authenticated path. @@ -533,7 +533,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -593,7 +593,7 @@ async def connect( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -654,7 +654,7 @@ async def delete( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -702,7 +702,7 @@ async def lead_forms( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -765,7 +765,7 @@ async def posts( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/social_accounts/raw_client.py b/src/whop_sdk/social_accounts/raw_client.py index de7d3415..54c77c8e 100644 --- a/src/whop_sdk/social_accounts/raw_client.py +++ b/src/whop_sdk/social_accounts/raw_client.py @@ -192,12 +192,12 @@ def create( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[SocialAccount]: """ - Creates or returns a Whop-managed Facebook page for an account. + Creates or returns a Whop-managed Facebook page or TikTok account for an account. Parameters ---------- platform : CreateSocialAccountsRequestPlatform - The platform to create the social account on. `facebook` requires the account's `banner_image`, `logo`, and `description`; configure them with [Update Account](/api-reference/beta/accounts/update-account). + The platform to create the social account on. `facebook` requires the account's `banner_image`, `logo`, and `description`, and `tiktok` requires its `logo`; configure them with [Update Account](/api-reference/beta/accounts/update-account). The account is returned before the platform has created it — its `id` is usable right away, and the rest of the profile fills in once provisioning finishes. account_id : typing.Optional[str] The Account (biz_ identifier) to create the social account for. An account-scoped API key may omit this to default to its own account. Account API keys cannot update their own account's branding through Update Account; use a user-authenticated path. @@ -845,12 +845,12 @@ async def create( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[SocialAccount]: """ - Creates or returns a Whop-managed Facebook page for an account. + Creates or returns a Whop-managed Facebook page or TikTok account for an account. Parameters ---------- platform : CreateSocialAccountsRequestPlatform - The platform to create the social account on. `facebook` requires the account's `banner_image`, `logo`, and `description`; configure them with [Update Account](/api-reference/beta/accounts/update-account). + The platform to create the social account on. `facebook` requires the account's `banner_image`, `logo`, and `description`, and `tiktok` requires its `logo`; configure them with [Update Account](/api-reference/beta/accounts/update-account). The account is returned before the platform has created it — its `id` is usable right away, and the rest of the profile fills in once provisioning finishes. account_id : typing.Optional[str] The Account (biz_ identifier) to create the social account for. An account-scoped API key may omit this to default to its own account. Account API keys cannot update their own account's branding through Update Account; use a user-authenticated path. diff --git a/src/whop_sdk/social_accounts/types/create_social_accounts_request_platform.py b/src/whop_sdk/social_accounts/types/create_social_accounts_request_platform.py index f23edeb6..53a3b5e2 100644 --- a/src/whop_sdk/social_accounts/types/create_social_accounts_request_platform.py +++ b/src/whop_sdk/social_accounts/types/create_social_accounts_request_platform.py @@ -2,4 +2,4 @@ import typing -CreateSocialAccountsRequestPlatform = typing.Union[typing.Literal["facebook"], typing.Any] +CreateSocialAccountsRequestPlatform = typing.Union[typing.Literal["facebook", "tiktok"], typing.Any] diff --git a/src/whop_sdk/stats/client.py b/src/whop_sdk/stats/client.py index 6b86bd37..5b4ad1fc 100644 --- a/src/whop_sdk/stats/client.py +++ b/src/whop_sdk/stats/client.py @@ -51,7 +51,7 @@ def list(self, *, request_options: typing.Optional[RequestOptions] = None) -> Li from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -98,7 +98,7 @@ def describe_stats( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -176,7 +176,7 @@ def metric_stats( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -269,7 +269,7 @@ def raw_stats( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -463,7 +463,7 @@ def retrieve( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -553,7 +553,7 @@ async def list(self, *, request_options: typing.Optional[RequestOptions] = None) from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -608,7 +608,7 @@ async def describe_stats( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -693,7 +693,7 @@ async def metric_stats( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -793,7 +793,7 @@ async def raw_stats( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -995,7 +995,7 @@ async def retrieve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/support_channels/client.py b/src/whop_sdk/support_channels/client.py index 4b187d3a..613556e7 100644 --- a/src/whop_sdk/support_channels/client.py +++ b/src/whop_sdk/support_channels/client.py @@ -91,7 +91,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -161,7 +161,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -204,7 +204,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -292,7 +292,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -371,7 +371,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -422,7 +422,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/swaps/client.py b/src/whop_sdk/swaps/client.py index 1556e781..5c1e6586 100644 --- a/src/whop_sdk/swaps/client.py +++ b/src/whop_sdk/swaps/client.py @@ -55,7 +55,7 @@ def list(self, *, account_id: str, request_options: typing.Optional[RequestOptio from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -121,7 +121,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -203,7 +203,7 @@ def create_quote( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -249,7 +249,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -302,7 +302,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -376,7 +376,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -466,7 +466,7 @@ async def create_quote( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -522,7 +522,7 @@ async def retrieve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/team_members/client.py b/src/whop_sdk/team_members/client.py index 38b9248a..7c71ab0a 100644 --- a/src/whop_sdk/team_members/client.py +++ b/src/whop_sdk/team_members/client.py @@ -106,7 +106,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -174,7 +174,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -210,7 +210,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -243,7 +243,7 @@ def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -281,7 +281,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -382,7 +382,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -459,7 +459,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -503,7 +503,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -546,7 +546,7 @@ async def delete( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -592,7 +592,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/topups/client.py b/src/whop_sdk/topups/client.py index 04a411ef..c0d5d68c 100644 --- a/src/whop_sdk/topups/client.py +++ b/src/whop_sdk/topups/client.py @@ -69,7 +69,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -149,7 +149,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/transfers/client.py b/src/whop_sdk/transfers/client.py index 6968fea5..8ac46614 100644 --- a/src/whop_sdk/transfers/client.py +++ b/src/whop_sdk/transfers/client.py @@ -100,7 +100,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -196,7 +196,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -261,7 +261,7 @@ def list_recipients( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -302,7 +302,7 @@ def retrieve( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -394,7 +394,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -499,7 +499,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -572,7 +572,7 @@ async def list_recipients( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -622,7 +622,7 @@ async def retrieve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/types/__init__.py b/src/whop_sdk/types/__init__.py index 51846fd8..edef3ced 100644 --- a/src/whop_sdk/types/__init__.py +++ b/src/whop_sdk/types/__init__.py @@ -216,6 +216,8 @@ from .app_deployment import AppDeployment from .app_deployment_phase import AppDeploymentPhase from .app_deployment_status import AppDeploymentStatus + from .app_domain import AppDomain + from .app_domain_status import AppDomainStatus from .app_elements_used_item import AppElementsUsedItem from .app_icon import AppIcon from .app_list_item import AppListItem @@ -478,6 +480,12 @@ from .dms_feed_member_notification_preferences import DmsFeedMemberNotificationPreferences from .dms_feed_member_statuses import DmsFeedMemberStatuses from .dms_post_types import DmsPostTypes + from .domain import Domain + from .domain_dns_record import DomainDnsRecord + from .domain_dns_record_type import DomainDnsRecordType + from .domain_dns_status import DomainDnsStatus + from .domain_issue import DomainIssue + from .domain_status import DomainStatus from .embed_types import EmbedTypes from .entries_sortable_columns import EntriesSortableColumns from .entry import Entry @@ -1127,6 +1135,7 @@ from .reaction_list_item import ReactionListItem from .reaction_list_item_user import ReactionListItemUser from .reaction_user import ReactionUser + from .receipt_line_item import ReceiptLineItem from .receipt_status import ReceiptStatus from .receipt_tax_behaviors import ReceiptTaxBehaviors from .receipt_v2order import ReceiptV2Order @@ -1180,7 +1189,6 @@ from .resolution_event import ResolutionEvent from .resolution_event_action import ResolutionEventAction from .resolution_event_reporter_type import ResolutionEventReporterType - from .resolution_line_item import ResolutionLineItem from .resolution_payment import ResolutionPayment from .review import Review from .review_attachments_item import ReviewAttachmentsItem @@ -1515,6 +1523,8 @@ "AppDeployment": ".app_deployment", "AppDeploymentPhase": ".app_deployment_phase", "AppDeploymentStatus": ".app_deployment_status", + "AppDomain": ".app_domain", + "AppDomainStatus": ".app_domain_status", "AppElementsUsedItem": ".app_elements_used_item", "AppIcon": ".app_icon", "AppListItem": ".app_list_item", @@ -1759,6 +1769,12 @@ "DmsFeedMemberNotificationPreferences": ".dms_feed_member_notification_preferences", "DmsFeedMemberStatuses": ".dms_feed_member_statuses", "DmsPostTypes": ".dms_post_types", + "Domain": ".domain", + "DomainDnsRecord": ".domain_dns_record", + "DomainDnsRecordType": ".domain_dns_record_type", + "DomainDnsStatus": ".domain_dns_status", + "DomainIssue": ".domain_issue", + "DomainStatus": ".domain_status", "EmbedTypes": ".embed_types", "EntriesSortableColumns": ".entries_sortable_columns", "Entry": ".entry", @@ -2290,6 +2306,7 @@ "ReactionListItem": ".reaction_list_item", "ReactionListItemUser": ".reaction_list_item_user", "ReactionUser": ".reaction_user", + "ReceiptLineItem": ".receipt_line_item", "ReceiptStatus": ".receipt_status", "ReceiptTaxBehaviors": ".receipt_tax_behaviors", "ReceiptV2Order": ".receipt_v2order", @@ -2343,7 +2360,6 @@ "ResolutionEvent": ".resolution_event", "ResolutionEventAction": ".resolution_event_action", "ResolutionEventReporterType": ".resolution_event_reporter_type", - "ResolutionLineItem": ".resolution_line_item", "ResolutionPayment": ".resolution_payment", "Review": ".review", "ReviewAttachmentsItem": ".review_attachments_item", @@ -2700,6 +2716,8 @@ def __dir__(): "AppDeployment", "AppDeploymentPhase", "AppDeploymentStatus", + "AppDomain", + "AppDomainStatus", "AppElementsUsedItem", "AppIcon", "AppListItem", @@ -2944,6 +2962,12 @@ def __dir__(): "DmsFeedMemberNotificationPreferences", "DmsFeedMemberStatuses", "DmsPostTypes", + "Domain", + "DomainDnsRecord", + "DomainDnsRecordType", + "DomainDnsStatus", + "DomainIssue", + "DomainStatus", "EmbedTypes", "EntriesSortableColumns", "Entry", @@ -3475,6 +3499,7 @@ def __dir__(): "ReactionListItem", "ReactionListItemUser", "ReactionUser", + "ReceiptLineItem", "ReceiptStatus", "ReceiptTaxBehaviors", "ReceiptV2Order", @@ -3528,7 +3553,6 @@ def __dir__(): "ResolutionEvent", "ResolutionEventAction", "ResolutionEventReporterType", - "ResolutionLineItem", "ResolutionPayment", "Review", "ReviewAttachmentsItem", diff --git a/src/whop_sdk/types/account_payment_controls.py b/src/whop_sdk/types/account_payment_controls.py index 1f5d0c0c..c0c15502 100644 --- a/src/whop_sdk/types/account_payment_controls.py +++ b/src/whop_sdk/types/account_payment_controls.py @@ -70,7 +70,7 @@ class AccountPaymentControls(UniversalBaseModel): restricted_payment_methods: typing.List[AccountPaymentControlsRestrictedPaymentMethodsItem] undated_pending_reason: typing.Optional[AccountPaymentControlsUndatedPendingReason] = pydantic.Field(default=None) """ - Why pending funds without a settlement date aren't moving yet, when it's something the merchant can act on. `null` when there's no reason to show (still clearing, or the account is held for a reason that isn't merchant-actionable). + Why pending funds without a settlement date aren't moving yet. `kyc_incomplete` and `pending_information_request` are things the merchant can act on. `withdrawals_disabled` means Whop has blocked withdrawals, so these funds cannot become available. `null` when there's no reason to show — still clearing, or held for a reason that isn't named here. """ withdrawal_schedule: AccountWithdrawalScheduleControl = pydantic.Field() diff --git a/src/whop_sdk/types/account_payment_controls_undated_pending_reason.py b/src/whop_sdk/types/account_payment_controls_undated_pending_reason.py index e1620a77..7b4bd9ae 100644 --- a/src/whop_sdk/types/account_payment_controls_undated_pending_reason.py +++ b/src/whop_sdk/types/account_payment_controls_undated_pending_reason.py @@ -3,5 +3,5 @@ import typing AccountPaymentControlsUndatedPendingReason = typing.Union[ - typing.Literal["kyc_incomplete", "pending_information_request"], typing.Any + typing.Literal["kyc_incomplete", "pending_information_request", "withdrawals_disabled"], typing.Any ] diff --git a/src/whop_sdk/types/account_preferences.py b/src/whop_sdk/types/account_preferences.py index 8f955d71..0565b551 100644 --- a/src/whop_sdk/types/account_preferences.py +++ b/src/whop_sdk/types/account_preferences.py @@ -37,6 +37,11 @@ class AccountPreferences(UniversalBaseModel): Whether incoming funds are automatically moved to the account's cards balance. `false` when the account has no cards balance. """ + cards_notifications: bool = pydantic.Field() + """ + Whether Whop Card notifications reach this account's team. `true` by default, including when the account has no cards balance. Set it to `false` to stop every card email and push notification for the account — application status, verification and action-required alerts, card-ready alerts, declines, large charges, and cashback summaries. Cardholder onboarding invitations still send, because they carry the only link an invited cardholder can onboard with. Requesting a card is rejected while notifications are off, since the request reaches nobody. Cards on personal accounts are unaffected. + """ + dispute_fighter_enabled: bool = pydantic.Field() """ Whether Whop assembles and files the evidence response when this account's payments are disputed. Off by default; enabling it also opts the account into the success fee charged only on disputes it wins. diff --git a/src/whop_sdk/types/api_key_api_version_date.py b/src/whop_sdk/types/api_key_api_version_date.py index 92d628b1..11add964 100644 --- a/src/whop_sdk/types/api_key_api_version_date.py +++ b/src/whop_sdk/types/api_key_api_version_date.py @@ -39,6 +39,7 @@ "2026-09-02-2", "2026-09-04", "2026-09-06", + "2026-09-09", ], typing.Any, ] diff --git a/src/whop_sdk/types/app.py b/src/whop_sdk/types/app.py index 840594c3..2c51b66e 100644 --- a/src/whop_sdk/types/app.py +++ b/src/whop_sdk/types/app.py @@ -11,6 +11,7 @@ from .app_creator import AppCreator from .app_default_api_key import AppDefaultApiKey from .app_deployment import AppDeployment +from .app_domain import AppDomain from .app_elements_used_item import AppElementsUsedItem from .app_icon import AppIcon from .app_marketplace_status import AppMarketplaceStatus @@ -93,6 +94,7 @@ class App(UniversalBaseModel): Subdomain identifier for the app's proxied URL, forming https://{domain_id}.apps.whop.com. """ + domains: typing.Optional[typing.List[AppDomain]] = None elements_used: typing.List[AppElementsUsedItem] experience_path: typing.Optional[str] = pydantic.Field(default=None) """ diff --git a/src/whop_sdk/types/app_domain.py b/src/whop_sdk/types/app_domain.py new file mode 100644 index 00000000..685d0567 --- /dev/null +++ b/src/whop_sdk/types/app_domain.py @@ -0,0 +1,33 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel +from .app_domain_status import AppDomainStatus + + +class AppDomain(UniversalBaseModel): + domain: str = pydantic.Field() + """ + Normalized hostname assigned to this app. + """ + + id: str = pydantic.Field() + """ + Domain ID, prefixed `dom_`. + """ + + status: AppDomainStatus = pydantic.Field() + """ + Domain lifecycle status, matching the domain resource. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/whop_sdk/types/app_domain_status.py b/src/whop_sdk/types/app_domain_status.py new file mode 100644 index 00000000..371dd76e --- /dev/null +++ b/src/whop_sdk/types/app_domain_status.py @@ -0,0 +1,8 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +AppDomainStatus = typing.Union[ + typing.Literal["pending_verification", "provisioning", "active", "action_required", "deleting", "removed"], + typing.Any, +] diff --git a/src/whop_sdk/types/app_list_item.py b/src/whop_sdk/types/app_list_item.py index 56606cd9..06a71ab1 100644 --- a/src/whop_sdk/types/app_list_item.py +++ b/src/whop_sdk/types/app_list_item.py @@ -7,6 +7,7 @@ from .account_parent import AccountParent from .app_banner_image import AppBannerImage from .app_creator import AppCreator +from .app_domain import AppDomain from .app_icon import AppIcon from .app_list_item_app_type import AppListItemAppType from .app_list_item_status import AppListItemStatus @@ -64,6 +65,7 @@ class AppListItem(UniversalBaseModel): Subdomain identifier for the app's proxied URL, forming https://{domain_id}.apps.whop.com. """ + domains: typing.Optional[typing.List[AppDomain]] = None experience_path: typing.Optional[str] = pydantic.Field(default=None) """ URL path for the member-facing hub view, or `null` when not configured. diff --git a/src/whop_sdk/types/dispute.py b/src/whop_sdk/types/dispute.py index bd669efc..e100c9c2 100644 --- a/src/whop_sdk/types/dispute.py +++ b/src/whop_sdk/types/dispute.py @@ -12,6 +12,7 @@ from .dispute_payment import DisputePayment from .dispute_reason import DisputeReason from .dispute_status import DisputeStatus +from .receipt_line_item import ReceiptLineItem class Dispute(UniversalBaseModel): @@ -81,6 +82,7 @@ class Dispute(UniversalBaseModel): """ issuer_comments: typing.List[DisputeIssuerComment] + line_items: typing.List[ReceiptLineItem] payment: typing.Optional[DisputePayment] = pydantic.Field(default=None) """ The payment being disputed. @@ -103,12 +105,12 @@ class Dispute(UniversalBaseModel): reason: DisputeReason = pydantic.Field() """ - Why the customer says they are disputing, normalized across card networks. `other` covers a code Whop has not categorized yet — read `reason_code` for the raw value. + Why the customer says they are disputing, normalized across processors and card networks. `other` covers a processor reason Whop has not categorized yet. """ reason_code: typing.Optional[str] = pydantic.Field(default=None) """ - The raw card-network or processor reason code, such as `10.4`. + The raw card-network or processor reason code, such as `10.4`. Informational only — `reason` is not derived from it. """ status: DisputeStatus = pydantic.Field() diff --git a/src/whop_sdk/types/domain.py b/src/whop_sdk/types/domain.py new file mode 100644 index 00000000..3fd863e8 --- /dev/null +++ b/src/whop_sdk/types/domain.py @@ -0,0 +1,93 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel +from .domain_dns_record import DomainDnsRecord +from .domain_dns_status import DomainDnsStatus +from .domain_issue import DomainIssue +from .domain_status import DomainStatus + + +class Domain(UniversalBaseModel): + account_id: str = pydantic.Field() + """ + ID of the account claiming or owning this domain, prefixed `biz_`. + """ + + app_id: str = pydantic.Field() + """ + ID of the app assigned to this domain, prefixed `app_`. + """ + + certificate_status: typing.Optional[str] = pydantic.Field(default=None) + """ + Cloudflare's latest certificate issuance status. + """ + + created_at: str = pydantic.Field() + """ + When the domain claim was created, as an ISO 8601 timestamp. + """ + + dns_records: typing.List[DomainDnsRecord] + dns_status: DomainDnsStatus = pydantic.Field() + """ + Result of the most recent DNS routing check. Ownership is verified separately. + """ + + domain: str = pydantic.Field() + """ + Normalized hostname, such as checkout.example.com. + """ + + hostname_status: typing.Optional[str] = pydantic.Field(default=None) + """ + Cloudflare's latest hostname activation status. + """ + + id: str = pydantic.Field() + """ + Domain ID, prefixed `dom_`. + """ + + issues: typing.List[DomainIssue] + last_checked_at: typing.Optional[str] = pydantic.Field(default=None) + """ + When DNS and provider state were last checked, as an ISO 8601 timestamp. + """ + + metadata: typing.Dict[str, str] = pydantic.Field() + """ + Custom string keys and values attached to this domain. + """ + + status: DomainStatus = pydantic.Field() + """ + Domain lifecycle. Only active domains resolve to their app. + """ + + updated_at: str = pydantic.Field() + """ + When the domain was last updated, as an ISO 8601 timestamp. + """ + + verification_expires_at: typing.Optional[str] = pydantic.Field(default=None) + """ + When an unverified claim is automatically deleted, 48 hours after creation, as an ISO 8601 timestamp. + """ + + verified_at: typing.Optional[str] = pydantic.Field(default=None) + """ + When Whop verified the ownership TXT record, as an ISO 8601 timestamp. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/whop_sdk/types/domain_dns_record.py b/src/whop_sdk/types/domain_dns_record.py new file mode 100644 index 00000000..5e2c9472 --- /dev/null +++ b/src/whop_sdk/types/domain_dns_record.py @@ -0,0 +1,33 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel +from .domain_dns_record_type import DomainDnsRecordType + + +class DomainDnsRecord(UniversalBaseModel): + name: str = pydantic.Field() + """ + Full hostname where the record must be published. + """ + + type: DomainDnsRecordType = pydantic.Field() + """ + DNS record type. + """ + + value: str = pydantic.Field() + """ + DNS record content. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/whop_sdk/types/domain_dns_record_type.py b/src/whop_sdk/types/domain_dns_record_type.py new file mode 100644 index 00000000..f6838d6a --- /dev/null +++ b/src/whop_sdk/types/domain_dns_record_type.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +DomainDnsRecordType = typing.Union[typing.Literal["TXT", "CNAME", "A", "AAAA"], typing.Any] diff --git a/src/whop_sdk/types/domain_dns_status.py b/src/whop_sdk/types/domain_dns_status.py new file mode 100644 index 00000000..135a6e57 --- /dev/null +++ b/src/whop_sdk/types/domain_dns_status.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +DomainDnsStatus = typing.Union[typing.Literal["pending", "valid", "invalid", "unknown"], typing.Any] diff --git a/src/whop_sdk/types/domain_issue.py b/src/whop_sdk/types/domain_issue.py new file mode 100644 index 00000000..a1c6cadd --- /dev/null +++ b/src/whop_sdk/types/domain_issue.py @@ -0,0 +1,27 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel + + +class DomainIssue(UniversalBaseModel): + code: str = pydantic.Field() + """ + The source of the setup issue. + """ + + message: str = pydantic.Field() + """ + What needs attention before the domain can serve the website. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/whop_sdk/types/domain_status.py b/src/whop_sdk/types/domain_status.py new file mode 100644 index 00000000..be169b5b --- /dev/null +++ b/src/whop_sdk/types/domain_status.py @@ -0,0 +1,8 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +DomainStatus = typing.Union[ + typing.Literal["pending_verification", "provisioning", "active", "action_required", "deleting", "removed"], + typing.Any, +] diff --git a/src/whop_sdk/types/ledger_activity_line_type.py b/src/whop_sdk/types/ledger_activity_line_type.py index f4444864..93a0b235 100644 --- a/src/whop_sdk/types/ledger_activity_line_type.py +++ b/src/whop_sdk/types/ledger_activity_line_type.py @@ -102,6 +102,8 @@ "platform_balance_transfer_outgoing", "platform_covered_dispute", "platform_earning", + "platform_markup_fee", + "platform_markup_fee_payout", "promo_reversal", "referral_bonus", "resolution_center_refund", diff --git a/src/whop_sdk/types/ledger_activity_source.py b/src/whop_sdk/types/ledger_activity_source.py index 9b7b3a7b..d79484a5 100644 --- a/src/whop_sdk/types/ledger_activity_source.py +++ b/src/whop_sdk/types/ledger_activity_source.py @@ -57,7 +57,7 @@ class LedgerActivitySource(UniversalBaseModel): id: str notes: typing.Optional[str] = pydantic.Field(default=None) """ - Memo attached to the transfer source, or null when none was provided. + Memo attached to the transfer or payout source, or null when none was provided (on payout sources requires payout:withdrawal:read). """ object: str diff --git a/src/whop_sdk/types/payment.py b/src/whop_sdk/types/payment.py index 0d38769a..a43165ce 100644 --- a/src/whop_sdk/types/payment.py +++ b/src/whop_sdk/types/payment.py @@ -131,7 +131,7 @@ class Payment(UniversalBaseModel): payment_instrument: typing.Optional[PaymentInstrument] = pydantic.Field(default=None) """ - The instrument shaped for display: a buyer-facing name, the standard icon set, and the card's brand and last four when it was a card. + The instrument shaped for display: a buyer-facing name, the standard icon set, and the card's brand, last four and issuer identification number when it was a card. """ payment_method_id: typing.Optional[str] = pydantic.Field(default=None) @@ -271,7 +271,7 @@ class Payment(UniversalBaseModel): verification_checks: typing.Optional[PaymentVerificationChecks] = pydantic.Field(default=None) """ - The issuer's address and security code check results, or null when the processor returned none. + The Address Verification Service (AVS), cardholder name, and Card Verification Value (CVV/CVC) results, or null when the processor returned none. """ voidable: bool = pydantic.Field() diff --git a/src/whop_sdk/types/payment_instrument.py b/src/whop_sdk/types/payment_instrument.py index 2e993403..e18ef495 100644 --- a/src/whop_sdk/types/payment_instrument.py +++ b/src/whop_sdk/types/payment_instrument.py @@ -11,7 +11,7 @@ class PaymentInstrument(UniversalBaseModel): card: typing.Optional[PaymentInstrumentCard] = pydantic.Field(default=None) """ - Card payments only: the card's network and last four. + Card payments only: the card's network, last four, and issuer identification number. """ display_name: str = pydantic.Field() diff --git a/src/whop_sdk/types/payment_instrument_card.py b/src/whop_sdk/types/payment_instrument_card.py index b4855833..59f45832 100644 --- a/src/whop_sdk/types/payment_instrument_card.py +++ b/src/whop_sdk/types/payment_instrument_card.py @@ -12,6 +12,11 @@ class PaymentInstrumentCard(UniversalBaseModel): The network identifier (`visa`, `amex`, …), matching `card.networks` entries and saved card payment methods. """ + issuer_identification_number: typing.Optional[str] = pydantic.Field(default=None) + """ + The issuer identification number, also called the BIN: the card's leading six or eight digits, which identify the issuing bank. Null when the processor did not report it. + """ + last4: typing.Optional[str] = pydantic.Field(default=None) """ The card's last four digits, when captured. diff --git a/src/whop_sdk/types/payment_status.py b/src/whop_sdk/types/payment_status.py index 09d2df31..d7c5a5a2 100644 --- a/src/whop_sdk/types/payment_status.py +++ b/src/whop_sdk/types/payment_status.py @@ -4,6 +4,7 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel +from .account_summary import AccountSummary from .payment_last_payment_error import PaymentLastPaymentError from .payment_next_action import PaymentNextAction from .payment_processing_details import PaymentProcessingDetails @@ -11,6 +12,11 @@ class PaymentStatus(UniversalBaseModel): + account: typing.Optional[AccountSummary] = pydantic.Field(default=None) + """ + The account receiving this payment, or `null` when the payment has no associated account. + """ + capture_expires_at: typing.Optional[str] = pydantic.Field(default=None) """ When the card authorization must be captured, as an ISO 8601 timestamp. `null` when this payment was not authorized for later capture. @@ -38,7 +44,7 @@ class PaymentStatus(UniversalBaseModel): processing_details: typing.Optional[PaymentProcessingDetails] = pydantic.Field(default=None) """ - Present while `status` is `processing` on a settlement rail, otherwise `null`. + Present while `status` is `processing` on a settlement rail, otherwise `null`. A `processing` status without it has not been decided yet — keep polling. """ return_url: typing.Optional[str] = pydantic.Field(default=None) @@ -48,7 +54,7 @@ class PaymentStatus(UniversalBaseModel): status: PaymentStatusStatus = pydantic.Field() """ - How far the payment has got. `requires_confirmation` — nothing attempted yet, or the last attempt failed and can be retried. `requires_action` — the buyer has a step outstanding; see `next_action`. `requires_capture` — the card authorization is holding funds and must be captured. `confirming` — the buyer has done their part and the processor is deciding. `processing` — the money is moving; see `processing_details`. `succeeded` — collected. `canceled` — voided or written off. + How far the payment has got. `requires_confirmation` — nothing attempted yet, or the last attempt failed and can be retried. `requires_action` — the buyer has a step outstanding; see `next_action`. `requires_capture` — the card authorization is holding funds and must be captured. `confirming` — the buyer has done their part and the processor is deciding. `processing` — with `processing_details`, the money is moving; without them, the charge is still being decided and the status should be read again. `succeeded` — collected. `canceled` — voided or written off. """ if IS_PYDANTIC_V2: diff --git a/src/whop_sdk/types/payment_verification_checks.py b/src/whop_sdk/types/payment_verification_checks.py index fb9bc251..f971c715 100644 --- a/src/whop_sdk/types/payment_verification_checks.py +++ b/src/whop_sdk/types/payment_verification_checks.py @@ -9,7 +9,7 @@ class PaymentVerificationChecks(UniversalBaseModel): address_line1: typing.Optional[str] = pydantic.Field(default=None) """ - Whether the billing street address the customer entered matched the issuer's records. + The Address Verification Service (AVS) result for the billing street address. """ card_holder_name: typing.Optional[str] = pydantic.Field(default=None) @@ -19,12 +19,12 @@ class PaymentVerificationChecks(UniversalBaseModel): card_security_code: typing.Optional[str] = pydantic.Field(default=None) """ - Whether the CVV / CVC matched the card. + The Card Verification Value (CVV/CVC) result. """ zip_code: typing.Optional[str] = pydantic.Field(default=None) """ - Whether the billing postal code matched the issuer's records. + The Address Verification Service (AVS) result for the billing postal code. """ if IS_PYDANTIC_V2: diff --git a/src/whop_sdk/types/permission_action.py b/src/whop_sdk/types/permission_action.py index fd8b19d6..5ae9361a 100644 --- a/src/whop_sdk/types/permission_action.py +++ b/src/whop_sdk/types/permission_action.py @@ -250,6 +250,7 @@ "notification:create", "user:balance:read", "user:email:read", + "user:payment:charge", "user:staff:read", "oauth:token_exchange", "openid", diff --git a/src/whop_sdk/types/product.py b/src/whop_sdk/types/product.py index 81f1485c..2a37704e 100644 --- a/src/whop_sdk/types/product.py +++ b/src/whop_sdk/types/product.py @@ -18,6 +18,11 @@ class Product(UniversalBaseModel): Account that sells this product. """ + average_review_rating: float = pydantic.Field() + """ + Average star rating across published reviews for this product, from `1.0` to `5.0`. Returns `0.0` when no published-review rating is available. + """ + created_at: str = pydantic.Field() """ When the product was created, as an ISO 8601 timestamp. diff --git a/src/whop_sdk/types/product_list_item.py b/src/whop_sdk/types/product_list_item.py index 80e7db83..d613b6df 100644 --- a/src/whop_sdk/types/product_list_item.py +++ b/src/whop_sdk/types/product_list_item.py @@ -14,6 +14,11 @@ class ProductListItem(UniversalBaseModel): Account that sells this product. """ + average_review_rating: float = pydantic.Field() + """ + Average star rating across published reviews for this product, from `1.0` to `5.0`. Returns `0.0` when no published-review rating is available. + """ + created_at: str = pydantic.Field() """ When the product was created, as an ISO 8601 timestamp. diff --git a/src/whop_sdk/types/resolution_line_item.py b/src/whop_sdk/types/receipt_line_item.py similarity index 62% rename from src/whop_sdk/types/resolution_line_item.py rename to src/whop_sdk/types/receipt_line_item.py index fc42d557..823edbed 100644 --- a/src/whop_sdk/types/resolution_line_item.py +++ b/src/whop_sdk/types/receipt_line_item.py @@ -4,9 +4,10 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel +from .money import Money -class ResolutionLineItem(UniversalBaseModel): +class ReceiptLineItem(UniversalBaseModel): id: typing.Optional[str] = pydantic.Field(default=None) """ Line item ID, prefixed `li_`. Null when the payment predates item snapshots and the item is read from the payment's plan. @@ -22,9 +23,19 @@ class ResolutionLineItem(UniversalBaseModel): The plan bought, prefixed `plan_`. Null when the plan has since been deleted. """ + plan_title: typing.Optional[str] = pydantic.Field(default=None) + """ + The plan's current title, or `null` when the plan has been deleted or has no title. + """ + product_id: typing.Optional[str] = pydantic.Field(default=None) """ - The product the plan belongs to, prefixed `prod_`. On a payment that predates item snapshots this falls back to the plan's product, so it can be set where the case's own `product_id` is null. Null for a plan with no product. + The product the plan belongs to, prefixed `prod_`. On a payment that predates item snapshots this falls back to the plan's product, so it can be set where the parent's own `product_id` is null. Null for a plan with no product. + """ + + product_title: typing.Optional[str] = pydantic.Field(default=None) + """ + The product's current title, or `null` when the item has no product. """ quantity: float = pydantic.Field() @@ -32,6 +43,11 @@ class ResolutionLineItem(UniversalBaseModel): How many units were bought. """ + subtotal: typing.Optional[Money] = pydantic.Field(default=None) + """ + The recorded amount for this item's full quantity, before discounts, tax, and fees, in its purchase currency. This is not the amount being contested. Returns `null` when no item amount was recorded. + """ + if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 else: diff --git a/src/whop_sdk/types/resolution_center_case.py b/src/whop_sdk/types/resolution_center_case.py index 099da338..7176776d 100644 --- a/src/whop_sdk/types/resolution_center_case.py +++ b/src/whop_sdk/types/resolution_center_case.py @@ -5,13 +5,13 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel from .account_summary import AccountSummary +from .receipt_line_item import ReceiptLineItem from .resolution_buyer import ResolutionBuyer from .resolution_center_case_available_actions_item import ResolutionCenterCaseAvailableActionsItem from .resolution_center_case_outcome import ResolutionCenterCaseOutcome from .resolution_center_case_reason import ResolutionCenterCaseReason from .resolution_center_case_refund import ResolutionCenterCaseRefund from .resolution_center_case_status import ResolutionCenterCaseStatus -from .resolution_line_item import ResolutionLineItem from .resolution_payment import ResolutionPayment @@ -57,7 +57,7 @@ class ResolutionCenterCase(UniversalBaseModel): Resolution center case ID, prefixed `reso_`. """ - line_items: typing.List[ResolutionLineItem] + line_items: typing.List[ReceiptLineItem] outcome: typing.Optional[ResolutionCenterCaseOutcome] = pydantic.Field(default=None) """ Who prevailed on the claim. `null` until the case closes. Read `refund` for whether any money actually moved. diff --git a/src/whop_sdk/types/social_account.py b/src/whop_sdk/types/social_account.py index 0e7058f6..6662112b 100644 --- a/src/whop_sdk/types/social_account.py +++ b/src/whop_sdk/types/social_account.py @@ -47,12 +47,12 @@ class SocialAccount(UniversalBaseModel): scopes: typing.List[str] url: typing.Optional[str] = pydantic.Field(default=None) """ - The URL where the social account can be accessed on the platform. Null while a Whop-owned page is still being provisioned. + The URL where the social account can be accessed on the platform. Null while a Whop-owned account is still being provisioned. """ username: typing.Optional[str] = pydantic.Field(default=None) """ - The username of the social account on the platform. Null while a Whop-owned page is still being provisioned. + The username of the social account on the platform. Null while a Whop-owned account is still being provisioned. """ verified: bool = pydantic.Field() diff --git a/src/whop_sdk/types/webhook_event.py b/src/whop_sdk/types/webhook_event.py index ed51d317..6e1a7a02 100644 --- a/src/whop_sdk/types/webhook_event.py +++ b/src/whop_sdk/types/webhook_event.py @@ -5,6 +5,8 @@ WebhookEvent = typing.Union[ typing.Literal[ "account.updated", + "account.financing_approved", + "account.financing_denied", "invoice.created", "invoice.marked_uncollectible", "invoice.paid", diff --git a/src/whop_sdk/types/webhook_events_item.py b/src/whop_sdk/types/webhook_events_item.py index c241fd6c..88396f76 100644 --- a/src/whop_sdk/types/webhook_events_item.py +++ b/src/whop_sdk/types/webhook_events_item.py @@ -5,6 +5,8 @@ WebhookEventsItem = typing.Union[ typing.Literal[ "account.updated", + "account.financing_approved", + "account.financing_denied", "invoice.created", "invoice.marked_uncollectible", "invoice.paid", diff --git a/src/whop_sdk/types/webhook_list_item_events_item.py b/src/whop_sdk/types/webhook_list_item_events_item.py index 77a9823c..13728372 100644 --- a/src/whop_sdk/types/webhook_list_item_events_item.py +++ b/src/whop_sdk/types/webhook_list_item_events_item.py @@ -5,6 +5,8 @@ WebhookListItemEventsItem = typing.Union[ typing.Literal[ "account.updated", + "account.financing_approved", + "account.financing_denied", "invoice.created", "invoice.marked_uncollectible", "invoice.paid", diff --git a/src/whop_sdk/types/webhook_testable_events_item.py b/src/whop_sdk/types/webhook_testable_events_item.py index 321513f2..1fb0749e 100644 --- a/src/whop_sdk/types/webhook_testable_events_item.py +++ b/src/whop_sdk/types/webhook_testable_events_item.py @@ -5,6 +5,8 @@ WebhookTestableEventsItem = typing.Union[ typing.Literal[ "account.updated", + "account.financing_approved", + "account.financing_denied", "invoice.created", "invoice.marked_uncollectible", "invoice.paid", diff --git a/src/whop_sdk/users/client.py b/src/whop_sdk/users/client.py index dea94f09..d3971343 100644 --- a/src/whop_sdk/users/client.py +++ b/src/whop_sdk/users/client.py @@ -89,7 +89,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -151,7 +151,7 @@ def me( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -210,7 +210,7 @@ def update_me( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -278,7 +278,7 @@ def retrieve( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -344,7 +344,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -391,7 +391,7 @@ def check_access( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -427,7 +427,7 @@ def recommend_actions( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -527,7 +527,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -598,7 +598,7 @@ async def me( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -665,7 +665,7 @@ async def update_me( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -741,7 +741,7 @@ async def retrieve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -815,7 +815,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -870,7 +870,7 @@ async def check_access( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -914,7 +914,7 @@ async def recommend_actions( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/users/oauth_grants/client.py b/src/whop_sdk/users/oauth_grants/client.py index e470c505..b368ceba 100644 --- a/src/whop_sdk/users/oauth_grants/client.py +++ b/src/whop_sdk/users/oauth_grants/client.py @@ -83,7 +83,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -168,7 +168,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -264,7 +264,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -358,7 +358,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/users/passkeys/client.py b/src/whop_sdk/users/passkeys/client.py index 374cf13c..df44fbc7 100644 --- a/src/whop_sdk/users/passkeys/client.py +++ b/src/whop_sdk/users/passkeys/client.py @@ -80,7 +80,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -140,7 +140,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -191,7 +191,7 @@ def challenge( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -243,7 +243,7 @@ def delete( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -328,7 +328,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -397,7 +397,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -456,7 +456,7 @@ async def challenge( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -516,7 +516,7 @@ async def delete( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/users/preferences/client.py b/src/whop_sdk/users/preferences/client.py index 03f792ee..e09811ba 100644 --- a/src/whop_sdk/users/preferences/client.py +++ b/src/whop_sdk/users/preferences/client.py @@ -51,7 +51,7 @@ def retrieve(self, *, request_options: typing.Optional[RequestOptions] = None) - from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -95,7 +95,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -156,7 +156,7 @@ async def retrieve(self, *, request_options: typing.Optional[RequestOptions] = N from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -208,7 +208,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/users/preferences/notifications/client.py b/src/whop_sdk/users/preferences/notifications/client.py index 9c9f6901..a2d98338 100644 --- a/src/whop_sdk/users/preferences/notifications/client.py +++ b/src/whop_sdk/users/preferences/notifications/client.py @@ -72,7 +72,7 @@ def set( ) client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -161,7 +161,7 @@ async def set( ) client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/users/preferences/notifications/experiences/client.py b/src/whop_sdk/users/preferences/notifications/experiences/client.py index 6e403cb0..eee0710e 100644 --- a/src/whop_sdk/users/preferences/notifications/experiences/client.py +++ b/src/whop_sdk/users/preferences/notifications/experiences/client.py @@ -56,7 +56,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -118,7 +118,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/users/preferences/notifications/topics/client.py b/src/whop_sdk/users/preferences/notifications/topics/client.py index 400e2547..ec6f2fc2 100644 --- a/src/whop_sdk/users/preferences/notifications/topics/client.py +++ b/src/whop_sdk/users/preferences/notifications/topics/client.py @@ -77,7 +77,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -168,7 +168,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/verifications/client.py b/src/whop_sdk/verifications/client.py index b8dc5f62..cbc32267 100644 --- a/src/whop_sdk/verifications/client.py +++ b/src/whop_sdk/verifications/client.py @@ -68,7 +68,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -89,7 +89,7 @@ def create( request_options: typing.Optional[RequestOptions] = None, ) -> CreateVerificationsResponse: """ - Starts a hosted verification session for an account or user, or returns the active session when one already exists. Any fields you include in the request body are used to prefill the session. Send `documents` (with `document_type`) to instead verify the person from identity documents included in this request — no hosted session involved. Send `share_token` to reuse a verification another Sumsub account has already completed for this person, instead of verifying them again. If the account already has an `approved` verification the request is rejected; unlink it first to start a new one. + Starts a hosted verification session for an account or user, or returns the active session when one already exists. Any fields you include in the request body are used to prefill the session. Send `documents` (with `document_type`) to instead verify the person from identity documents included in this request — no hosted session involved. Send `share_token` to reuse a verification another Sumsub account has already completed for this person, instead of verifying them again. Send `verification_id` to reuse a verification the signed-in user already completed on Whop. Every mode except `verification_id` is rejected once the account has an `approved` verification — unlink it first to start a new one — while `verification_id` replaces whichever verification of that kind the account currently has. Parameters ---------- @@ -112,7 +112,7 @@ def create( from whop_sdk.verifications import CreateVerificationsRequestBody_Individual client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -148,7 +148,7 @@ def retrieve( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -190,7 +190,7 @@ def update( from whop_sdk.verifications import UpdateVerificationsRequestBodyPersonalAddress client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -255,7 +255,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -282,7 +282,7 @@ async def create( request_options: typing.Optional[RequestOptions] = None, ) -> CreateVerificationsResponse: """ - Starts a hosted verification session for an account or user, or returns the active session when one already exists. Any fields you include in the request body are used to prefill the session. Send `documents` (with `document_type`) to instead verify the person from identity documents included in this request — no hosted session involved. Send `share_token` to reuse a verification another Sumsub account has already completed for this person, instead of verifying them again. If the account already has an `approved` verification the request is rejected; unlink it first to start a new one. + Starts a hosted verification session for an account or user, or returns the active session when one already exists. Any fields you include in the request body are used to prefill the session. Send `documents` (with `document_type`) to instead verify the person from identity documents included in this request — no hosted session involved. Send `share_token` to reuse a verification another Sumsub account has already completed for this person, instead of verifying them again. Send `verification_id` to reuse a verification the signed-in user already completed on Whop. Every mode except `verification_id` is rejected once the account has an `approved` verification — unlink it first to start a new one — while `verification_id` replaces whichever verification of that kind the account currently has. Parameters ---------- @@ -307,7 +307,7 @@ async def create( from whop_sdk.verifications import CreateVerificationsRequestBody_Individual client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -353,7 +353,7 @@ async def retrieve( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -403,7 +403,7 @@ async def update( from whop_sdk.verifications import UpdateVerificationsRequestBodyPersonalAddress client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/verifications/raw_client.py b/src/whop_sdk/verifications/raw_client.py index ace7d6a9..67dc6331 100644 --- a/src/whop_sdk/verifications/raw_client.py +++ b/src/whop_sdk/verifications/raw_client.py @@ -135,7 +135,7 @@ def create( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[CreateVerificationsResponse]: """ - Starts a hosted verification session for an account or user, or returns the active session when one already exists. Any fields you include in the request body are used to prefill the session. Send `documents` (with `document_type`) to instead verify the person from identity documents included in this request — no hosted session involved. Send `share_token` to reuse a verification another Sumsub account has already completed for this person, instead of verifying them again. If the account already has an `approved` verification the request is rejected; unlink it first to start a new one. + Starts a hosted verification session for an account or user, or returns the active session when one already exists. Any fields you include in the request body are used to prefill the session. Send `documents` (with `document_type`) to instead verify the person from identity documents included in this request — no hosted session involved. Send `share_token` to reuse a verification another Sumsub account has already completed for this person, instead of verifying them again. Send `verification_id` to reuse a verification the signed-in user already completed on Whop. Every mode except `verification_id` is rejected once the account has an `approved` verification — unlink it first to start a new one — while `verification_id` replaces whichever verification of that kind the account currently has. Parameters ---------- @@ -511,7 +511,7 @@ async def create( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[CreateVerificationsResponse]: """ - Starts a hosted verification session for an account or user, or returns the active session when one already exists. Any fields you include in the request body are used to prefill the session. Send `documents` (with `document_type`) to instead verify the person from identity documents included in this request — no hosted session involved. Send `share_token` to reuse a verification another Sumsub account has already completed for this person, instead of verifying them again. If the account already has an `approved` verification the request is rejected; unlink it first to start a new one. + Starts a hosted verification session for an account or user, or returns the active session when one already exists. Any fields you include in the request body are used to prefill the session. Send `documents` (with `document_type`) to instead verify the person from identity documents included in this request — no hosted session involved. Send `share_token` to reuse a verification another Sumsub account has already completed for this person, instead of verifying them again. Send `verification_id` to reuse a verification the signed-in user already completed on Whop. Every mode except `verification_id` is rejected once the account has an `approved` verification — unlink it first to start a new one — while `verification_id` replaces whichever verification of that kind the account currently has. Parameters ---------- diff --git a/src/whop_sdk/verifications/types/create_verifications_request_body.py b/src/whop_sdk/verifications/types/create_verifications_request_body.py index 94d800aa..293023b4 100644 --- a/src/whop_sdk/verifications/types/create_verifications_request_body.py +++ b/src/whop_sdk/verifications/types/create_verifications_request_body.py @@ -31,6 +31,7 @@ class CreateVerificationsRequestBody_Individual(UniversalBaseModel): phone: typing.Optional[str] = None share_token: typing.Optional[str] = None tax_identification_number: typing.Optional[str] = None + verification_id: typing.Optional[str] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -56,6 +57,7 @@ class CreateVerificationsRequestBody_Business(UniversalBaseModel): place_of_incorporation: typing.Optional[str] = None share_token: typing.Optional[str] = None tax_identification_number: typing.Optional[str] = None + verification_id: typing.Optional[str] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/whop_sdk/verifications/types/create_verifications_request_body_business.py b/src/whop_sdk/verifications/types/create_verifications_request_body_business.py index 9c1cd9cb..5692f51d 100644 --- a/src/whop_sdk/verifications/types/create_verifications_request_body_business.py +++ b/src/whop_sdk/verifications/types/create_verifications_request_body_business.py @@ -72,6 +72,11 @@ class CreateVerificationsRequestBodyBusiness(UniversalBaseModel): The government-issued ID number of the person being verified — the individual for a KYC verification, or the business representative for a KYB verification — as appropriate for their country. Examples are a Social Security Number (SSN) in the US, or a Social Insurance Number in Canada. """ + verification_id: typing.Optional[str] = pydantic.Field(default=None) + """ + ID of an `approved` verification to reuse on this account instead of verifying the person again, for example `idpf_XXXXXXXX`. The verification becomes this account's current one for its kind — replacing whichever verification of that kind the account already has, and carrying its payout account across — and the response is that same verification, unchanged. Only the signed-in Whop user who started the original verification can reuse it: API keys, OAuth tokens, and onboarding links are refused. `kind` is the only other field it accepts, and must match the reused verification. An account whose verification was denied or is still under review cannot reuse one. + """ + if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 else: diff --git a/src/whop_sdk/verifications/types/create_verifications_request_body_individual.py b/src/whop_sdk/verifications/types/create_verifications_request_body_individual.py index 5230b34f..9834aac8 100644 --- a/src/whop_sdk/verifications/types/create_verifications_request_body_individual.py +++ b/src/whop_sdk/verifications/types/create_verifications_request_body_individual.py @@ -76,6 +76,11 @@ class CreateVerificationsRequestBodyIndividual(UniversalBaseModel): The government-issued ID number of the person being verified — the individual for a KYC verification, or the business representative for a KYB verification — as appropriate for their country. Examples are a Social Security Number (SSN) in the US, or a Social Insurance Number in Canada. """ + verification_id: typing.Optional[str] = pydantic.Field(default=None) + """ + ID of an `approved` verification to reuse on this account instead of verifying the person again, for example `idpf_XXXXXXXX`. The verification becomes this account's current one for its kind — replacing whichever verification of that kind the account already has, and carrying its payout account across — and the response is that same verification, unchanged. Only the signed-in Whop user who started the original verification can reuse it: API keys, OAuth tokens, and onboarding links are refused. `kind` is the only other field it accepts, and must match the reused verification. An account whose verification was denied or is still under review cannot reuse one. + """ + if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 else: diff --git a/src/whop_sdk/webhooks/client.py b/src/whop_sdk/webhooks/client.py index cd600679..d57eef0f 100644 --- a/src/whop_sdk/webhooks/client.py +++ b/src/whop_sdk/webhooks/client.py @@ -92,7 +92,7 @@ def list( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -164,7 +164,7 @@ def create( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -205,7 +205,7 @@ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -238,7 +238,7 @@ def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -296,7 +296,7 @@ def update( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -350,7 +350,7 @@ def list_deliveries( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -400,7 +400,7 @@ def replay_delivery( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -461,7 +461,7 @@ def replay( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -508,7 +508,7 @@ def test( from whop_sdk import Whop client = Whop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -593,7 +593,7 @@ async def list( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -674,7 +674,7 @@ async def create( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -723,7 +723,7 @@ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOpt from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -766,7 +766,7 @@ async def delete( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -832,7 +832,7 @@ async def update( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -894,7 +894,7 @@ async def list_deliveries( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -953,7 +953,7 @@ async def replay_delivery( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1022,7 +1022,7 @@ async def replay( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) @@ -1077,7 +1077,7 @@ async def test( from whop_sdk import AsyncWhop client = AsyncWhop( - "2026-09-06", + "2026-09-09", idempotency_key="YOUR_IDEMPOTENCY_KEY", token="YOUR_TOKEN", ) diff --git a/src/whop_sdk/webhooks/types/create_webhooks_request_events_item.py b/src/whop_sdk/webhooks/types/create_webhooks_request_events_item.py index ff9e7a2c..fc1cc8ec 100644 --- a/src/whop_sdk/webhooks/types/create_webhooks_request_events_item.py +++ b/src/whop_sdk/webhooks/types/create_webhooks_request_events_item.py @@ -5,6 +5,8 @@ CreateWebhooksRequestEventsItem = typing.Union[ typing.Literal[ "account.updated", + "account.financing_approved", + "account.financing_denied", "invoice.created", "invoice.marked_uncollectible", "invoice.paid", diff --git a/src/whop_sdk/webhooks/types/update_webhooks_request_events_item.py b/src/whop_sdk/webhooks/types/update_webhooks_request_events_item.py index 8942dd9d..33ae1f2c 100644 --- a/src/whop_sdk/webhooks/types/update_webhooks_request_events_item.py +++ b/src/whop_sdk/webhooks/types/update_webhooks_request_events_item.py @@ -5,6 +5,8 @@ UpdateWebhooksRequestEventsItem = typing.Union[ typing.Literal[ "account.updated", + "account.financing_approved", + "account.financing_denied", "invoice.created", "invoice.marked_uncollectible", "invoice.paid", From f1a026cc01bee2abac80397d2c8e4ba3c3c986f3 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Thu, 10 Sep 2026 03:57:01 +0000 Subject: [PATCH 2/2] [fern-replay] advance lockfile --- .fern/replay.lock | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.fern/replay.lock b/.fern/replay.lock index 3a3d445f..f2f6bfca 100644 --- a/.fern/replay.lock +++ b/.fern/replay.lock @@ -96,5 +96,11 @@ generations: cli_version: unknown generator_versions: fernapi/fern-python-sdk: 5.28.0 -current_generation: 21bb9eee72ed7603a4e5138b7983de9e33f78264 + - commit_sha: df150e635ae4c61b42aa40229aa13cacf9b6f1f8 + tree_hash: 6f85cfe4659c128b1f6f24d7937d90ed06583e5e + timestamp: 2026-09-10T03:56:58.275Z + cli_version: unknown + generator_versions: + fernapi/fern-python-sdk: 5.28.0 +current_generation: df150e635ae4c61b42aa40229aa13cacf9b6f1f8 patches: []