whop-sdk 0.0.10__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- whop_sdk/__init__.py +94 -0
- whop_sdk/_base_client.py +1995 -0
- whop_sdk/_client.py +800 -0
- whop_sdk/_compat.py +219 -0
- whop_sdk/_constants.py +14 -0
- whop_sdk/_exceptions.py +112 -0
- whop_sdk/_files.py +123 -0
- whop_sdk/_models.py +857 -0
- whop_sdk/_qs.py +150 -0
- whop_sdk/_resource.py +43 -0
- whop_sdk/_response.py +830 -0
- whop_sdk/_streaming.py +333 -0
- whop_sdk/_types.py +260 -0
- whop_sdk/_utils/__init__.py +64 -0
- whop_sdk/_utils/_compat.py +45 -0
- whop_sdk/_utils/_datetime_parse.py +136 -0
- whop_sdk/_utils/_logs.py +25 -0
- whop_sdk/_utils/_proxy.py +65 -0
- whop_sdk/_utils/_reflection.py +42 -0
- whop_sdk/_utils/_resources_proxy.py +24 -0
- whop_sdk/_utils/_streams.py +12 -0
- whop_sdk/_utils/_sync.py +58 -0
- whop_sdk/_utils/_transform.py +457 -0
- whop_sdk/_utils/_typing.py +156 -0
- whop_sdk/_utils/_utils.py +421 -0
- whop_sdk/_version.py +4 -0
- whop_sdk/lib/.keep +4 -0
- whop_sdk/pagination.py +61 -0
- whop_sdk/py.typed +0 -0
- whop_sdk/resources/__init__.py +540 -0
- whop_sdk/resources/access_tokens.py +341 -0
- whop_sdk/resources/account_links.py +211 -0
- whop_sdk/resources/app_builds.py +587 -0
- whop_sdk/resources/apps.py +684 -0
- whop_sdk/resources/authorized_users.py +353 -0
- whop_sdk/resources/chat_channels.py +469 -0
- whop_sdk/resources/checkout_configurations.py +776 -0
- whop_sdk/resources/companies.py +465 -0
- whop_sdk/resources/course_chapters.py +602 -0
- whop_sdk/resources/course_lesson_interactions.py +343 -0
- whop_sdk/resources/course_lessons.py +1040 -0
- whop_sdk/resources/course_students.py +327 -0
- whop_sdk/resources/courses.py +776 -0
- whop_sdk/resources/disputes.py +693 -0
- whop_sdk/resources/entries.py +556 -0
- whop_sdk/resources/experiences.py +983 -0
- whop_sdk/resources/forum_posts.py +656 -0
- whop_sdk/resources/forums.py +446 -0
- whop_sdk/resources/invoices.py +1099 -0
- whop_sdk/resources/ledger_accounts.py +171 -0
- whop_sdk/resources/members.py +429 -0
- whop_sdk/resources/memberships.py +818 -0
- whop_sdk/resources/messages.py +558 -0
- whop_sdk/resources/notifications.py +388 -0
- whop_sdk/resources/payment_tokens.py +359 -0
- whop_sdk/resources/payments.py +1040 -0
- whop_sdk/resources/plans.py +1001 -0
- whop_sdk/resources/products.py +970 -0
- whop_sdk/resources/promo_codes.py +668 -0
- whop_sdk/resources/reactions.py +423 -0
- whop_sdk/resources/refunds.py +347 -0
- whop_sdk/resources/reviews.py +332 -0
- whop_sdk/resources/setup_intents.py +349 -0
- whop_sdk/resources/shipments.py +451 -0
- whop_sdk/resources/support_channels.py +455 -0
- whop_sdk/resources/transfers.py +513 -0
- whop_sdk/resources/users.py +248 -0
- whop_sdk/resources/webhooks.py +69 -0
- whop_sdk/resources/withdrawals.py +341 -0
- whop_sdk/types/__init__.py +262 -0
- whop_sdk/types/access_token_create_params.py +64 -0
- whop_sdk/types/access_token_create_response.py +15 -0
- whop_sdk/types/account_link_create_params.py +27 -0
- whop_sdk/types/account_link_create_response.py +15 -0
- whop_sdk/types/app_build_create_params.py +72 -0
- whop_sdk/types/app_build_list_params.py +42 -0
- whop_sdk/types/app_build_list_response.py +50 -0
- whop_sdk/types/app_create_params.py +19 -0
- whop_sdk/types/app_list_params.py +59 -0
- whop_sdk/types/app_list_response.py +110 -0
- whop_sdk/types/app_type.py +7 -0
- whop_sdk/types/app_update_params.py +67 -0
- whop_sdk/types/assessment_question_types.py +7 -0
- whop_sdk/types/authorized_user_list_params.py +41 -0
- whop_sdk/types/authorized_user_list_response.py +33 -0
- whop_sdk/types/authorized_user_retrieve_response.py +33 -0
- whop_sdk/types/billing_reasons.py +9 -0
- whop_sdk/types/card_brands.py +25 -0
- whop_sdk/types/chat_channel_list_params.py +28 -0
- whop_sdk/types/chat_channel_list_response.py +43 -0
- whop_sdk/types/chat_channel_update_params.py +32 -0
- whop_sdk/types/checkout_configuration_create_params.py +373 -0
- whop_sdk/types/checkout_configuration_list_params.py +41 -0
- whop_sdk/types/checkout_configuration_list_response.py +104 -0
- whop_sdk/types/checkout_modes.py +7 -0
- whop_sdk/types/company_create_params.py +22 -0
- whop_sdk/types/company_list_params.py +38 -0
- whop_sdk/types/company_list_response.py +76 -0
- whop_sdk/types/course.py +122 -0
- whop_sdk/types/course_chapter.py +32 -0
- whop_sdk/types/course_chapter_create_params.py +16 -0
- whop_sdk/types/course_chapter_delete_response.py +7 -0
- whop_sdk/types/course_chapter_list_params.py +25 -0
- whop_sdk/types/course_chapter_list_response.py +16 -0
- whop_sdk/types/course_chapter_update_params.py +12 -0
- whop_sdk/types/course_create_params.py +78 -0
- whop_sdk/types/course_delete_response.py +7 -0
- whop_sdk/types/course_lesson_create_params.py +63 -0
- whop_sdk/types/course_lesson_delete_response.py +7 -0
- whop_sdk/types/course_lesson_interaction_completed_webhook_event.py +26 -0
- whop_sdk/types/course_lesson_interaction_list_params.py +34 -0
- whop_sdk/types/course_lesson_list_params.py +28 -0
- whop_sdk/types/course_lesson_list_response.py +57 -0
- whop_sdk/types/course_lesson_mark_as_completed_response.py +7 -0
- whop_sdk/types/course_lesson_start_response.py +7 -0
- whop_sdk/types/course_lesson_submit_assessment_params.py +26 -0
- whop_sdk/types/course_lesson_submit_assessment_response.py +62 -0
- whop_sdk/types/course_lesson_update_params.py +222 -0
- whop_sdk/types/course_list_params.py +28 -0
- whop_sdk/types/course_list_response.py +90 -0
- whop_sdk/types/course_student_list_params.py +28 -0
- whop_sdk/types/course_student_list_response.py +42 -0
- whop_sdk/types/course_student_retrieve_response.py +61 -0
- whop_sdk/types/course_update_params.py +114 -0
- whop_sdk/types/course_visibilities.py +7 -0
- whop_sdk/types/dispute.py +284 -0
- whop_sdk/types/dispute_created_webhook_event.py +26 -0
- whop_sdk/types/dispute_list_params.py +38 -0
- whop_sdk/types/dispute_list_response.py +77 -0
- whop_sdk/types/dispute_statuses.py +17 -0
- whop_sdk/types/dispute_update_evidence_params.py +159 -0
- whop_sdk/types/dispute_updated_webhook_event.py +26 -0
- whop_sdk/types/embed_type.py +7 -0
- whop_sdk/types/entry_approve_response.py +10 -0
- whop_sdk/types/entry_approved_webhook_event.py +26 -0
- whop_sdk/types/entry_created_webhook_event.py +26 -0
- whop_sdk/types/entry_deleted_webhook_event.py +26 -0
- whop_sdk/types/entry_denied_webhook_event.py +26 -0
- whop_sdk/types/entry_list_params.py +52 -0
- whop_sdk/types/entry_list_response.py +56 -0
- whop_sdk/types/experience_attach_params.py +12 -0
- whop_sdk/types/experience_create_params.py +22 -0
- whop_sdk/types/experience_delete_response.py +7 -0
- whop_sdk/types/experience_detach_params.py +12 -0
- whop_sdk/types/experience_duplicate_params.py +13 -0
- whop_sdk/types/experience_list_params.py +40 -0
- whop_sdk/types/experience_list_response.py +73 -0
- whop_sdk/types/experience_update_params.py +46 -0
- whop_sdk/types/forum_list_params.py +28 -0
- whop_sdk/types/forum_list_response.py +33 -0
- whop_sdk/types/forum_post_create_params.py +101 -0
- whop_sdk/types/forum_post_list_params.py +31 -0
- whop_sdk/types/forum_post_list_response.py +60 -0
- whop_sdk/types/forum_post_update_params.py +56 -0
- whop_sdk/types/forum_post_visibility_type.py +7 -0
- whop_sdk/types/forum_update_params.py +23 -0
- whop_sdk/types/invoice_create_params.py +515 -0
- whop_sdk/types/invoice_created_webhook_event.py +26 -0
- whop_sdk/types/invoice_list_params.py +53 -0
- whop_sdk/types/invoice_paid_webhook_event.py +26 -0
- whop_sdk/types/invoice_past_due_webhook_event.py +26 -0
- whop_sdk/types/invoice_void_response.py +7 -0
- whop_sdk/types/invoice_voided_webhook_event.py +26 -0
- whop_sdk/types/languages.py +30 -0
- whop_sdk/types/ledger_account_retrieve_response.py +93 -0
- whop_sdk/types/lesson.py +219 -0
- whop_sdk/types/lesson_types.py +7 -0
- whop_sdk/types/lesson_visibilities.py +7 -0
- whop_sdk/types/member_list_params.py +73 -0
- whop_sdk/types/member_list_response.py +65 -0
- whop_sdk/types/member_retrieve_response.py +79 -0
- whop_sdk/types/membership_activated_webhook_event.py +29 -0
- whop_sdk/types/membership_cancel_params.py +13 -0
- whop_sdk/types/membership_deactivated_webhook_event.py +29 -0
- whop_sdk/types/membership_list_params.py +73 -0
- whop_sdk/types/membership_list_response.py +128 -0
- whop_sdk/types/membership_pause_params.py +16 -0
- whop_sdk/types/membership_update_params.py +13 -0
- whop_sdk/types/message_create_params.py +63 -0
- whop_sdk/types/message_list_params.py +30 -0
- whop_sdk/types/message_list_response.py +90 -0
- whop_sdk/types/message_update_params.py +45 -0
- whop_sdk/types/notification_create_params.py +93 -0
- whop_sdk/types/notification_create_response.py +10 -0
- whop_sdk/types/payment_create_params.py +162 -0
- whop_sdk/types/payment_failed_webhook_event.py +26 -0
- whop_sdk/types/payment_list_params.py +67 -0
- whop_sdk/types/payment_list_response.py +273 -0
- whop_sdk/types/payment_method_types.py +94 -0
- whop_sdk/types/payment_pending_webhook_event.py +26 -0
- whop_sdk/types/payment_provider.py +9 -0
- whop_sdk/types/payment_refund_params.py +13 -0
- whop_sdk/types/payment_succeeded_webhook_event.py +26 -0
- whop_sdk/types/payment_token_list_params.py +38 -0
- whop_sdk/types/payment_token_list_response.py +41 -0
- whop_sdk/types/payment_token_retrieve_params.py +12 -0
- whop_sdk/types/payment_token_retrieve_response.py +41 -0
- whop_sdk/types/plan_create_params.py +162 -0
- whop_sdk/types/plan_delete_response.py +7 -0
- whop_sdk/types/plan_list_params.py +57 -0
- whop_sdk/types/plan_list_response.py +128 -0
- whop_sdk/types/plan_update_params.py +155 -0
- whop_sdk/types/product_create_params.py +147 -0
- whop_sdk/types/product_delete_response.py +7 -0
- whop_sdk/types/product_list_params.py +49 -0
- whop_sdk/types/product_update_params.py +82 -0
- whop_sdk/types/promo_code.py +90 -0
- whop_sdk/types/promo_code_create_params.py +70 -0
- whop_sdk/types/promo_code_delete_response.py +7 -0
- whop_sdk/types/promo_code_list_params.py +45 -0
- whop_sdk/types/promo_code_list_response.py +79 -0
- whop_sdk/types/promo_code_status.py +7 -0
- whop_sdk/types/promo_duration.py +7 -0
- whop_sdk/types/reaction_create_params.py +19 -0
- whop_sdk/types/reaction_list_params.py +25 -0
- whop_sdk/types/reaction_list_response.py +32 -0
- whop_sdk/types/refund_created_webhook_event.py +154 -0
- whop_sdk/types/refund_list_params.py +38 -0
- whop_sdk/types/refund_list_response.py +53 -0
- whop_sdk/types/refund_reference_status.py +7 -0
- whop_sdk/types/refund_reference_type.py +9 -0
- whop_sdk/types/refund_retrieve_response.py +129 -0
- whop_sdk/types/refund_status.py +7 -0
- whop_sdk/types/refund_updated_webhook_event.py +154 -0
- whop_sdk/types/review_list_params.py +40 -0
- whop_sdk/types/review_list_response.py +78 -0
- whop_sdk/types/review_retrieve_response.py +103 -0
- whop_sdk/types/review_status.py +7 -0
- whop_sdk/types/setup_intent.py +111 -0
- whop_sdk/types/setup_intent_canceled_webhook_event.py +29 -0
- whop_sdk/types/setup_intent_list_params.py +38 -0
- whop_sdk/types/setup_intent_list_response.py +111 -0
- whop_sdk/types/setup_intent_requires_action_webhook_event.py +29 -0
- whop_sdk/types/setup_intent_status.py +7 -0
- whop_sdk/types/setup_intent_succeeded_webhook_event.py +29 -0
- whop_sdk/types/shared/__init__.py +62 -0
- whop_sdk/types/shared/access_level.py +7 -0
- whop_sdk/types/shared/access_pass_type.py +7 -0
- whop_sdk/types/shared/app.py +187 -0
- whop_sdk/types/shared/app_build.py +50 -0
- whop_sdk/types/shared/app_build_platforms.py +7 -0
- whop_sdk/types/shared/app_build_statuses.py +7 -0
- whop_sdk/types/shared/app_statuses.py +7 -0
- whop_sdk/types/shared/app_view_type.py +7 -0
- whop_sdk/types/shared/authorized_user_roles.py +9 -0
- whop_sdk/types/shared/business_types.py +22 -0
- whop_sdk/types/shared/chat_channel.py +43 -0
- whop_sdk/types/shared/checkout_configuration.py +104 -0
- whop_sdk/types/shared/collection_method.py +7 -0
- whop_sdk/types/shared/company.py +91 -0
- whop_sdk/types/shared/course_lesson_interaction.py +63 -0
- whop_sdk/types/shared/course_lesson_interaction_list_item.py +44 -0
- whop_sdk/types/shared/currency.py +93 -0
- whop_sdk/types/shared/custom_cta.py +21 -0
- whop_sdk/types/shared/direction.py +7 -0
- whop_sdk/types/shared/dms_post_types.py +7 -0
- whop_sdk/types/shared/email_notification_preferences.py +7 -0
- whop_sdk/types/shared/entry.py +70 -0
- whop_sdk/types/shared/entry_status.py +7 -0
- whop_sdk/types/shared/experience.py +91 -0
- whop_sdk/types/shared/forum.py +33 -0
- whop_sdk/types/shared/forum_post.py +60 -0
- whop_sdk/types/shared/friendly_receipt_status.py +24 -0
- whop_sdk/types/shared/global_affiliate_status.py +7 -0
- whop_sdk/types/shared/industry_types.py +67 -0
- whop_sdk/types/shared/invoice.py +64 -0
- whop_sdk/types/shared/invoice_list_item.py +64 -0
- whop_sdk/types/shared/invoice_status.py +7 -0
- whop_sdk/types/shared/member_most_recent_actions.py +22 -0
- whop_sdk/types/shared/member_statuses.py +7 -0
- whop_sdk/types/shared/membership.py +128 -0
- whop_sdk/types/shared/membership_status.py +9 -0
- whop_sdk/types/shared/message.py +90 -0
- whop_sdk/types/shared/page_info.py +21 -0
- whop_sdk/types/shared/payment.py +273 -0
- whop_sdk/types/shared/plan.py +159 -0
- whop_sdk/types/shared/plan_type.py +7 -0
- whop_sdk/types/shared/product.py +132 -0
- whop_sdk/types/shared/product_list_item.py +57 -0
- whop_sdk/types/shared/promo_type.py +7 -0
- whop_sdk/types/shared/reaction.py +32 -0
- whop_sdk/types/shared/receipt_status.py +7 -0
- whop_sdk/types/shared/release_method.py +7 -0
- whop_sdk/types/shared/shipment.py +48 -0
- whop_sdk/types/shared/shipment_carrier.py +84 -0
- whop_sdk/types/shared/shipment_status.py +18 -0
- whop_sdk/types/shared/shipment_substatus.py +36 -0
- whop_sdk/types/shared/support_channel.py +39 -0
- whop_sdk/types/shared/tax_type.py +7 -0
- whop_sdk/types/shared/transfer.py +112 -0
- whop_sdk/types/shared/visibility.py +7 -0
- whop_sdk/types/shared/visibility_filter.py +9 -0
- whop_sdk/types/shared/who_can_comment_types.py +7 -0
- whop_sdk/types/shared/who_can_post.py +7 -0
- whop_sdk/types/shared/who_can_post_types.py +7 -0
- whop_sdk/types/shared/who_can_react.py +7 -0
- whop_sdk/types/shared_params/__init__.py +34 -0
- whop_sdk/types/shared_params/access_level.py +9 -0
- whop_sdk/types/shared_params/access_pass_type.py +9 -0
- whop_sdk/types/shared_params/app_build_platforms.py +9 -0
- whop_sdk/types/shared_params/app_build_statuses.py +9 -0
- whop_sdk/types/shared_params/app_statuses.py +9 -0
- whop_sdk/types/shared_params/app_view_type.py +9 -0
- whop_sdk/types/shared_params/authorized_user_roles.py +11 -0
- whop_sdk/types/shared_params/business_types.py +24 -0
- whop_sdk/types/shared_params/collection_method.py +9 -0
- whop_sdk/types/shared_params/currency.py +95 -0
- whop_sdk/types/shared_params/custom_cta.py +23 -0
- whop_sdk/types/shared_params/direction.py +9 -0
- whop_sdk/types/shared_params/email_notification_preferences.py +9 -0
- whop_sdk/types/shared_params/entry_status.py +9 -0
- whop_sdk/types/shared_params/friendly_receipt_status.py +26 -0
- whop_sdk/types/shared_params/global_affiliate_status.py +9 -0
- whop_sdk/types/shared_params/industry_types.py +69 -0
- whop_sdk/types/shared_params/invoice_status.py +9 -0
- whop_sdk/types/shared_params/member_most_recent_actions.py +24 -0
- whop_sdk/types/shared_params/member_statuses.py +9 -0
- whop_sdk/types/shared_params/membership_status.py +11 -0
- whop_sdk/types/shared_params/plan_type.py +9 -0
- whop_sdk/types/shared_params/promo_type.py +9 -0
- whop_sdk/types/shared_params/receipt_status.py +9 -0
- whop_sdk/types/shared_params/release_method.py +9 -0
- whop_sdk/types/shared_params/tax_type.py +9 -0
- whop_sdk/types/shared_params/visibility.py +9 -0
- whop_sdk/types/shared_params/visibility_filter.py +11 -0
- whop_sdk/types/shared_params/who_can_comment_types.py +9 -0
- whop_sdk/types/shared_params/who_can_post.py +9 -0
- whop_sdk/types/shared_params/who_can_post_types.py +9 -0
- whop_sdk/types/shared_params/who_can_react.py +9 -0
- whop_sdk/types/shipment_create_params.py +18 -0
- whop_sdk/types/shipment_list_params.py +31 -0
- whop_sdk/types/shipment_list_response.py +48 -0
- whop_sdk/types/support_channel_create_params.py +15 -0
- whop_sdk/types/support_channel_list_params.py +40 -0
- whop_sdk/types/support_channel_list_response.py +39 -0
- whop_sdk/types/transfer_create_params.py +39 -0
- whop_sdk/types/transfer_list_params.py +50 -0
- whop_sdk/types/transfer_list_response.py +38 -0
- whop_sdk/types/unwrap_webhook_event.py +52 -0
- whop_sdk/types/user_check_access_response.py +14 -0
- whop_sdk/types/user_retrieve_response.py +36 -0
- whop_sdk/types/withdrawal_fee_types.py +7 -0
- whop_sdk/types/withdrawal_list_params.py +38 -0
- whop_sdk/types/withdrawal_list_response.py +45 -0
- whop_sdk/types/withdrawal_retrieve_response.py +154 -0
- whop_sdk/types/withdrawal_speeds.py +7 -0
- whop_sdk/types/withdrawal_status.py +9 -0
- whop_sdk/types/withdrawal_types.py +7 -0
- whop_sdk-0.0.10.dist-info/METADATA +509 -0
- whop_sdk-0.0.10.dist-info/RECORD +352 -0
- whop_sdk-0.0.10.dist-info/WHEEL +4 -0
- whop_sdk-0.0.10.dist-info/licenses/LICENSE +201 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
from .._models import BaseModel
|
|
7
|
+
from .shared.entry import Entry
|
|
8
|
+
|
|
9
|
+
__all__ = ["EntryCreatedWebhookEvent"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class EntryCreatedWebhookEvent(BaseModel):
|
|
13
|
+
id: str
|
|
14
|
+
"""A unique ID for every single webhook request"""
|
|
15
|
+
|
|
16
|
+
api_version: Literal["v1"]
|
|
17
|
+
"""The API version for this webhook"""
|
|
18
|
+
|
|
19
|
+
data: Entry
|
|
20
|
+
"""An object representing an entry in a waitlist."""
|
|
21
|
+
|
|
22
|
+
timestamp: datetime
|
|
23
|
+
"""The timestamp in ISO 8601 format that the webhook was sent at on the server"""
|
|
24
|
+
|
|
25
|
+
type: Literal["entry.created"]
|
|
26
|
+
"""The webhook event type"""
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
from .._models import BaseModel
|
|
7
|
+
from .shared.entry import Entry
|
|
8
|
+
|
|
9
|
+
__all__ = ["EntryDeletedWebhookEvent"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class EntryDeletedWebhookEvent(BaseModel):
|
|
13
|
+
id: str
|
|
14
|
+
"""A unique ID for every single webhook request"""
|
|
15
|
+
|
|
16
|
+
api_version: Literal["v1"]
|
|
17
|
+
"""The API version for this webhook"""
|
|
18
|
+
|
|
19
|
+
data: Entry
|
|
20
|
+
"""An object representing an entry in a waitlist."""
|
|
21
|
+
|
|
22
|
+
timestamp: datetime
|
|
23
|
+
"""The timestamp in ISO 8601 format that the webhook was sent at on the server"""
|
|
24
|
+
|
|
25
|
+
type: Literal["entry.deleted"]
|
|
26
|
+
"""The webhook event type"""
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
from .._models import BaseModel
|
|
7
|
+
from .shared.entry import Entry
|
|
8
|
+
|
|
9
|
+
__all__ = ["EntryDeniedWebhookEvent"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class EntryDeniedWebhookEvent(BaseModel):
|
|
13
|
+
id: str
|
|
14
|
+
"""A unique ID for every single webhook request"""
|
|
15
|
+
|
|
16
|
+
api_version: Literal["v1"]
|
|
17
|
+
"""The API version for this webhook"""
|
|
18
|
+
|
|
19
|
+
data: Entry
|
|
20
|
+
"""An object representing an entry in a waitlist."""
|
|
21
|
+
|
|
22
|
+
timestamp: datetime
|
|
23
|
+
"""The timestamp in ISO 8601 format that the webhook was sent at on the server"""
|
|
24
|
+
|
|
25
|
+
type: Literal["entry.denied"]
|
|
26
|
+
"""The webhook event type"""
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import List, Union, Optional
|
|
6
|
+
from datetime import datetime
|
|
7
|
+
from typing_extensions import Literal, Required, Annotated, TypedDict
|
|
8
|
+
|
|
9
|
+
from .._types import SequenceNotStr
|
|
10
|
+
from .._utils import PropertyInfo
|
|
11
|
+
from .shared.direction import Direction
|
|
12
|
+
from .shared.entry_status import EntryStatus
|
|
13
|
+
|
|
14
|
+
__all__ = ["EntryListParams"]
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class EntryListParams(TypedDict, total=False):
|
|
18
|
+
company_id: Required[str]
|
|
19
|
+
"""The ID of the company"""
|
|
20
|
+
|
|
21
|
+
after: Optional[str]
|
|
22
|
+
"""Returns the elements in the list that come after the specified cursor."""
|
|
23
|
+
|
|
24
|
+
before: Optional[str]
|
|
25
|
+
"""Returns the elements in the list that come before the specified cursor."""
|
|
26
|
+
|
|
27
|
+
created_after: Annotated[Union[str, datetime, None], PropertyInfo(format="iso8601")]
|
|
28
|
+
"""The minimum creation date to filter by"""
|
|
29
|
+
|
|
30
|
+
created_before: Annotated[Union[str, datetime, None], PropertyInfo(format="iso8601")]
|
|
31
|
+
"""The maximum creation date to filter by"""
|
|
32
|
+
|
|
33
|
+
direction: Optional[Direction]
|
|
34
|
+
"""The direction of the sort."""
|
|
35
|
+
|
|
36
|
+
first: Optional[int]
|
|
37
|
+
"""Returns the first _n_ elements from the list."""
|
|
38
|
+
|
|
39
|
+
last: Optional[int]
|
|
40
|
+
"""Returns the last _n_ elements from the list."""
|
|
41
|
+
|
|
42
|
+
order: Optional[Literal["id", "created_at"]]
|
|
43
|
+
"""Which columns can be used to sort."""
|
|
44
|
+
|
|
45
|
+
plan_ids: Optional[SequenceNotStr[str]]
|
|
46
|
+
"""The plan IDs to filter the entries by"""
|
|
47
|
+
|
|
48
|
+
product_ids: Optional[SequenceNotStr[str]]
|
|
49
|
+
"""The product IDs to filter the entries by"""
|
|
50
|
+
|
|
51
|
+
statuses: Optional[List[EntryStatus]]
|
|
52
|
+
"""The statuses to filter the entries by"""
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
|
|
6
|
+
from .._models import BaseModel
|
|
7
|
+
from .shared.entry_status import EntryStatus
|
|
8
|
+
|
|
9
|
+
__all__ = ["EntryListResponse", "Plan", "Product", "User"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class Plan(BaseModel):
|
|
13
|
+
id: str
|
|
14
|
+
"""The internal ID of the plan."""
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class Product(BaseModel):
|
|
18
|
+
id: str
|
|
19
|
+
"""The internal ID of the public product."""
|
|
20
|
+
|
|
21
|
+
title: str
|
|
22
|
+
"""The title of the product. Use for Whop 4.0."""
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class User(BaseModel):
|
|
26
|
+
id: str
|
|
27
|
+
"""The internal ID of the user."""
|
|
28
|
+
|
|
29
|
+
email: Optional[str] = None
|
|
30
|
+
"""The email of the user"""
|
|
31
|
+
|
|
32
|
+
name: Optional[str] = None
|
|
33
|
+
"""The name of the user from their Whop account."""
|
|
34
|
+
|
|
35
|
+
username: str
|
|
36
|
+
"""The username of the user from their Whop account."""
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class EntryListResponse(BaseModel):
|
|
40
|
+
id: str
|
|
41
|
+
"""The internal ID of the entry."""
|
|
42
|
+
|
|
43
|
+
created_at: Optional[datetime] = None
|
|
44
|
+
"""When the entry was created."""
|
|
45
|
+
|
|
46
|
+
plan: Optional[Plan] = None
|
|
47
|
+
"""The waitlist plan the entry if for."""
|
|
48
|
+
|
|
49
|
+
product: Optional[Product] = None
|
|
50
|
+
"""The product tied to this entry, if there is one."""
|
|
51
|
+
|
|
52
|
+
status: EntryStatus
|
|
53
|
+
"""The status of the entry."""
|
|
54
|
+
|
|
55
|
+
user: User
|
|
56
|
+
"""The user who created the entry."""
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import Required, TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["ExperienceAttachParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class ExperienceAttachParams(TypedDict, total=False):
|
|
11
|
+
product_id: Required[str]
|
|
12
|
+
"""The ID of the Access Pass to add the Experience to."""
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Optional
|
|
6
|
+
from typing_extensions import Required, TypedDict
|
|
7
|
+
|
|
8
|
+
__all__ = ["ExperienceCreateParams"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class ExperienceCreateParams(TypedDict, total=False):
|
|
12
|
+
app_id: Required[str]
|
|
13
|
+
"""The ID of the app to create the experience for"""
|
|
14
|
+
|
|
15
|
+
company_id: Required[str]
|
|
16
|
+
"""The ID of the company to create the experience for"""
|
|
17
|
+
|
|
18
|
+
name: Optional[str]
|
|
19
|
+
"""The name of the experience"""
|
|
20
|
+
|
|
21
|
+
section_id: Optional[str]
|
|
22
|
+
"""The ID of the section to create the experience in"""
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import Required, TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["ExperienceDetachParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class ExperienceDetachParams(TypedDict, total=False):
|
|
11
|
+
product_id: Required[str]
|
|
12
|
+
"""The ID of the Access Pass to add the Experience to."""
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Optional
|
|
6
|
+
from typing_extensions import TypedDict
|
|
7
|
+
|
|
8
|
+
__all__ = ["ExperienceDuplicateParams"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class ExperienceDuplicateParams(TypedDict, total=False):
|
|
12
|
+
name: Optional[str]
|
|
13
|
+
"""The name of the new experience"""
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Union, Optional
|
|
6
|
+
from datetime import datetime
|
|
7
|
+
from typing_extensions import Required, Annotated, TypedDict
|
|
8
|
+
|
|
9
|
+
from .._utils import PropertyInfo
|
|
10
|
+
|
|
11
|
+
__all__ = ["ExperienceListParams"]
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class ExperienceListParams(TypedDict, total=False):
|
|
15
|
+
company_id: Required[str]
|
|
16
|
+
"""The ID of the company to filter experiences by"""
|
|
17
|
+
|
|
18
|
+
after: Optional[str]
|
|
19
|
+
"""Returns the elements in the list that come after the specified cursor."""
|
|
20
|
+
|
|
21
|
+
app_id: Optional[str]
|
|
22
|
+
"""The ID of the app to filter experiences by"""
|
|
23
|
+
|
|
24
|
+
before: Optional[str]
|
|
25
|
+
"""Returns the elements in the list that come before the specified cursor."""
|
|
26
|
+
|
|
27
|
+
created_after: Annotated[Union[str, datetime, None], PropertyInfo(format="iso8601")]
|
|
28
|
+
"""The minimum creation date to filter by"""
|
|
29
|
+
|
|
30
|
+
created_before: Annotated[Union[str, datetime, None], PropertyInfo(format="iso8601")]
|
|
31
|
+
"""The maximum creation date to filter by"""
|
|
32
|
+
|
|
33
|
+
first: Optional[int]
|
|
34
|
+
"""Returns the first _n_ elements from the list."""
|
|
35
|
+
|
|
36
|
+
last: Optional[int]
|
|
37
|
+
"""Returns the last _n_ elements from the list."""
|
|
38
|
+
|
|
39
|
+
product_id: Optional[str]
|
|
40
|
+
"""The ID of the product to filter experiences by"""
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
|
|
6
|
+
from .._models import BaseModel
|
|
7
|
+
|
|
8
|
+
__all__ = ["ExperienceListResponse", "App", "AppIcon", "Company", "Image"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class AppIcon(BaseModel):
|
|
12
|
+
url: Optional[str] = None
|
|
13
|
+
"""This is the URL you use to render optimized attachments on the client.
|
|
14
|
+
|
|
15
|
+
This should be used for apps.
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class App(BaseModel):
|
|
20
|
+
id: str
|
|
21
|
+
"""The ID of the app"""
|
|
22
|
+
|
|
23
|
+
icon: Optional[AppIcon] = None
|
|
24
|
+
"""The icon for the app.
|
|
25
|
+
|
|
26
|
+
This icon is shown on discovery, on the product page, on checkout, and as a
|
|
27
|
+
default icon for the experiences.
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
name: str
|
|
31
|
+
"""The name of the app"""
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class Company(BaseModel):
|
|
35
|
+
id: str
|
|
36
|
+
"""The ID (tag) of the company."""
|
|
37
|
+
|
|
38
|
+
route: str
|
|
39
|
+
"""The slug/route of the company on the Whop site."""
|
|
40
|
+
|
|
41
|
+
title: str
|
|
42
|
+
"""The title of the company."""
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class Image(BaseModel):
|
|
46
|
+
url: Optional[str] = None
|
|
47
|
+
"""This is the URL you use to render optimized attachments on the client.
|
|
48
|
+
|
|
49
|
+
This should be used for apps.
|
|
50
|
+
"""
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
class ExperienceListResponse(BaseModel):
|
|
54
|
+
id: str
|
|
55
|
+
"""The unique ID representing this experience"""
|
|
56
|
+
|
|
57
|
+
app: App
|
|
58
|
+
"""The experience interface for this experience."""
|
|
59
|
+
|
|
60
|
+
company: Company
|
|
61
|
+
"""The company that owns this experience."""
|
|
62
|
+
|
|
63
|
+
created_at: datetime
|
|
64
|
+
"""The timestamp of when this experience was created."""
|
|
65
|
+
|
|
66
|
+
image: Optional[Image] = None
|
|
67
|
+
"""The logo for the experience."""
|
|
68
|
+
|
|
69
|
+
name: str
|
|
70
|
+
"""The written name of the description."""
|
|
71
|
+
|
|
72
|
+
order: Optional[str] = None
|
|
73
|
+
"""The order of the experience in the section"""
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Union, Optional
|
|
6
|
+
from typing_extensions import Literal, Required, TypeAlias, TypedDict
|
|
7
|
+
|
|
8
|
+
__all__ = ["ExperienceUpdateParams", "Logo", "LogoAttachmentInputWithDirectUploadID", "LogoAttachmentInputWithID"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class ExperienceUpdateParams(TypedDict, total=False):
|
|
12
|
+
access_level: Optional[Literal["public", "private"]]
|
|
13
|
+
"""The different access levels for experiences (PUBLIC IS NEVER USED ANYMORE)."""
|
|
14
|
+
|
|
15
|
+
logo: Optional[Logo]
|
|
16
|
+
"""The logo for the experience"""
|
|
17
|
+
|
|
18
|
+
name: Optional[str]
|
|
19
|
+
"""The name of the experience."""
|
|
20
|
+
|
|
21
|
+
order: Optional[str]
|
|
22
|
+
"""The order of the experience in the section."""
|
|
23
|
+
|
|
24
|
+
section_id: Optional[str]
|
|
25
|
+
"""The ID of the section to update."""
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class LogoAttachmentInputWithDirectUploadID(TypedDict, total=False):
|
|
29
|
+
direct_upload_id: Required[str]
|
|
30
|
+
"""This ID should be used the first time you upload an attachment.
|
|
31
|
+
|
|
32
|
+
It is the ID of the direct upload that was created when uploading the file to S3
|
|
33
|
+
via the mediaDirectUpload mutation.
|
|
34
|
+
"""
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class LogoAttachmentInputWithID(TypedDict, total=False):
|
|
38
|
+
id: Required[str]
|
|
39
|
+
"""The ID of an existing attachment object.
|
|
40
|
+
|
|
41
|
+
Use this when updating a resource and keeping a subset of the attachments. Don't
|
|
42
|
+
use this unless you know what you're doing.
|
|
43
|
+
"""
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
Logo: TypeAlias = Union[LogoAttachmentInputWithDirectUploadID, LogoAttachmentInputWithID]
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Optional
|
|
6
|
+
from typing_extensions import Required, TypedDict
|
|
7
|
+
|
|
8
|
+
__all__ = ["ForumListParams"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class ForumListParams(TypedDict, total=False):
|
|
12
|
+
company_id: Required[str]
|
|
13
|
+
"""The ID of the company to list forums for"""
|
|
14
|
+
|
|
15
|
+
after: Optional[str]
|
|
16
|
+
"""Returns the elements in the list that come after the specified cursor."""
|
|
17
|
+
|
|
18
|
+
before: Optional[str]
|
|
19
|
+
"""Returns the elements in the list that come before the specified cursor."""
|
|
20
|
+
|
|
21
|
+
first: Optional[int]
|
|
22
|
+
"""Returns the first _n_ elements from the list."""
|
|
23
|
+
|
|
24
|
+
last: Optional[int]
|
|
25
|
+
"""Returns the last _n_ elements from the list."""
|
|
26
|
+
|
|
27
|
+
product_id: Optional[str]
|
|
28
|
+
"""If provided, only forums connected to this product are returned"""
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from .._models import BaseModel
|
|
4
|
+
from .shared.who_can_post_types import WhoCanPostTypes
|
|
5
|
+
from .shared.who_can_comment_types import WhoCanCommentTypes
|
|
6
|
+
from .shared.email_notification_preferences import EmailNotificationPreferences
|
|
7
|
+
|
|
8
|
+
__all__ = ["ForumListResponse", "Experience"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class Experience(BaseModel):
|
|
12
|
+
id: str
|
|
13
|
+
"""The unique ID representing this experience"""
|
|
14
|
+
|
|
15
|
+
name: str
|
|
16
|
+
"""The written name of the description."""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class ForumListResponse(BaseModel):
|
|
20
|
+
id: str
|
|
21
|
+
"""The unique identifier for the entity"""
|
|
22
|
+
|
|
23
|
+
email_notification_preference: EmailNotificationPreferences
|
|
24
|
+
"""The email notification preference for this forum"""
|
|
25
|
+
|
|
26
|
+
experience: Experience
|
|
27
|
+
"""The experience for this forum"""
|
|
28
|
+
|
|
29
|
+
who_can_comment: WhoCanCommentTypes
|
|
30
|
+
"""Who can comment on this forum"""
|
|
31
|
+
|
|
32
|
+
who_can_post: WhoCanPostTypes
|
|
33
|
+
"""Who can post on this forum"""
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Union, Iterable, Optional
|
|
6
|
+
from typing_extensions import Required, TypeAlias, TypedDict
|
|
7
|
+
|
|
8
|
+
from .shared.currency import Currency
|
|
9
|
+
from .forum_post_visibility_type import ForumPostVisibilityType
|
|
10
|
+
|
|
11
|
+
__all__ = [
|
|
12
|
+
"ForumPostCreateParams",
|
|
13
|
+
"Attachment",
|
|
14
|
+
"AttachmentAttachmentInputWithDirectUploadID",
|
|
15
|
+
"AttachmentAttachmentInputWithID",
|
|
16
|
+
"Poll",
|
|
17
|
+
"PollOption",
|
|
18
|
+
]
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class ForumPostCreateParams(TypedDict, total=False):
|
|
22
|
+
experience_id: Required[str]
|
|
23
|
+
"""The experience to create this post in"""
|
|
24
|
+
|
|
25
|
+
attachments: Optional[Iterable[Attachment]]
|
|
26
|
+
"""The attachments for this post"""
|
|
27
|
+
|
|
28
|
+
content: Optional[str]
|
|
29
|
+
"""This is the main body of the post in Markdown format.
|
|
30
|
+
|
|
31
|
+
Hidden if paywalled and user hasn't purchased access to it.
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
is_mention: Optional[bool]
|
|
35
|
+
"""
|
|
36
|
+
This is used to determine if the post should be sent as a 'mention' notification
|
|
37
|
+
to all of the users who are in the experience. This means that anyone with
|
|
38
|
+
'mentions' enabled will receive a notification about this post.
|
|
39
|
+
"""
|
|
40
|
+
|
|
41
|
+
parent_id: Optional[str]
|
|
42
|
+
"""The ID of the parent post.
|
|
43
|
+
|
|
44
|
+
Set it to the ID of the post you want to comment on or don't include it if its a
|
|
45
|
+
top level post.
|
|
46
|
+
"""
|
|
47
|
+
|
|
48
|
+
paywall_amount: Optional[float]
|
|
49
|
+
"""The amount to paywall this post by.
|
|
50
|
+
|
|
51
|
+
A paywalled post requires the user to purchase it in order to view its content.
|
|
52
|
+
"""
|
|
53
|
+
|
|
54
|
+
paywall_currency: Optional[Currency]
|
|
55
|
+
"""The available currencies on the platform"""
|
|
56
|
+
|
|
57
|
+
pinned: Optional[bool]
|
|
58
|
+
"""Whether the post should be pinned"""
|
|
59
|
+
|
|
60
|
+
poll: Optional[Poll]
|
|
61
|
+
"""The poll for this post"""
|
|
62
|
+
|
|
63
|
+
title: Optional[str]
|
|
64
|
+
"""The title of the post. Only visible if paywalled."""
|
|
65
|
+
|
|
66
|
+
visibility: Optional[ForumPostVisibilityType]
|
|
67
|
+
"""The visibility types for forum posts"""
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
class AttachmentAttachmentInputWithDirectUploadID(TypedDict, total=False):
|
|
71
|
+
direct_upload_id: Required[str]
|
|
72
|
+
"""This ID should be used the first time you upload an attachment.
|
|
73
|
+
|
|
74
|
+
It is the ID of the direct upload that was created when uploading the file to S3
|
|
75
|
+
via the mediaDirectUpload mutation.
|
|
76
|
+
"""
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
class AttachmentAttachmentInputWithID(TypedDict, total=False):
|
|
80
|
+
id: Required[str]
|
|
81
|
+
"""The ID of an existing attachment object.
|
|
82
|
+
|
|
83
|
+
Use this when updating a resource and keeping a subset of the attachments. Don't
|
|
84
|
+
use this unless you know what you're doing.
|
|
85
|
+
"""
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
Attachment: TypeAlias = Union[AttachmentAttachmentInputWithDirectUploadID, AttachmentAttachmentInputWithID]
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
class PollOption(TypedDict, total=False):
|
|
92
|
+
id: Required[str]
|
|
93
|
+
"""Sequential ID for the poll option (starting from '1')"""
|
|
94
|
+
|
|
95
|
+
text: Required[str]
|
|
96
|
+
"""The text of the poll option"""
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
class Poll(TypedDict, total=False):
|
|
100
|
+
options: Required[Iterable[PollOption]]
|
|
101
|
+
"""The options for the poll. Must have sequential IDs starting from 1"""
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Optional
|
|
6
|
+
from typing_extensions import Required, TypedDict
|
|
7
|
+
|
|
8
|
+
__all__ = ["ForumPostListParams"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class ForumPostListParams(TypedDict, total=False):
|
|
12
|
+
experience_id: Required[str]
|
|
13
|
+
"""The ID of the experience to list forum posts for"""
|
|
14
|
+
|
|
15
|
+
after: Optional[str]
|
|
16
|
+
"""Returns the elements in the list that come after the specified cursor."""
|
|
17
|
+
|
|
18
|
+
before: Optional[str]
|
|
19
|
+
"""Returns the elements in the list that come before the specified cursor."""
|
|
20
|
+
|
|
21
|
+
first: Optional[int]
|
|
22
|
+
"""Returns the first _n_ elements from the list."""
|
|
23
|
+
|
|
24
|
+
last: Optional[int]
|
|
25
|
+
"""Returns the last _n_ elements from the list."""
|
|
26
|
+
|
|
27
|
+
parent_id: Optional[str]
|
|
28
|
+
"""The ID of the parent post to list forum post comments for"""
|
|
29
|
+
|
|
30
|
+
pinned: Optional[bool]
|
|
31
|
+
"""Set to true to only return pinned posts"""
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
|
|
6
|
+
from .._models import BaseModel
|
|
7
|
+
|
|
8
|
+
__all__ = ["ForumPostListResponse", "User"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class User(BaseModel):
|
|
12
|
+
id: str
|
|
13
|
+
"""The internal ID of the user."""
|
|
14
|
+
|
|
15
|
+
name: Optional[str] = None
|
|
16
|
+
"""The name of the user from their Whop account."""
|
|
17
|
+
|
|
18
|
+
username: str
|
|
19
|
+
"""The username of the user from their Whop account."""
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class ForumPostListResponse(BaseModel):
|
|
23
|
+
id: str
|
|
24
|
+
"""The unique identifier of the resource."""
|
|
25
|
+
|
|
26
|
+
comment_count: int
|
|
27
|
+
"""The amount of comments on this post"""
|
|
28
|
+
|
|
29
|
+
content: Optional[str] = None
|
|
30
|
+
"""The content of the forum post in Markdown format"""
|
|
31
|
+
|
|
32
|
+
created_at: datetime
|
|
33
|
+
"""The timestamp when the post was created"""
|
|
34
|
+
|
|
35
|
+
is_edited: bool
|
|
36
|
+
"""Whether the forum post has been edited"""
|
|
37
|
+
|
|
38
|
+
is_pinned: bool
|
|
39
|
+
"""Whether this forum post is pinned"""
|
|
40
|
+
|
|
41
|
+
is_poster_admin: bool
|
|
42
|
+
"""Whether the user that sent the post is an admin of the company"""
|
|
43
|
+
|
|
44
|
+
like_count: Optional[int] = None
|
|
45
|
+
"""The number of likes this post has received"""
|
|
46
|
+
|
|
47
|
+
parent_id: Optional[str] = None
|
|
48
|
+
"""The ID of the parent forum post, if applicable"""
|
|
49
|
+
|
|
50
|
+
title: Optional[str] = None
|
|
51
|
+
"""The title of the forum post"""
|
|
52
|
+
|
|
53
|
+
updated_at: datetime
|
|
54
|
+
"""The timestamp when the post was last updated"""
|
|
55
|
+
|
|
56
|
+
user: User
|
|
57
|
+
"""The user who created this forum post"""
|
|
58
|
+
|
|
59
|
+
view_count: Optional[int] = None
|
|
60
|
+
"""The number of times this message has been viewed"""
|