whop-sdk 0.0.1__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.
Potentially problematic release.
This version of whop-sdk might be problematic. Click here for more details.
- whop_sdk/__init__.py +94 -0
- whop_sdk/_base_client.py +1995 -0
- whop_sdk/_client.py +664 -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 +835 -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 +86 -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 +316 -0
- whop_sdk/resources/app_builds.py +562 -0
- whop_sdk/resources/apps.py +665 -0
- whop_sdk/resources/authorized_users.py +336 -0
- whop_sdk/resources/chat_channels.py +469 -0
- whop_sdk/resources/checkout_configurations.py +464 -0
- whop_sdk/resources/companies.py +171 -0
- whop_sdk/resources/course_lesson_interactions.py +343 -0
- whop_sdk/resources/entries.py +539 -0
- whop_sdk/resources/experiences.py +859 -0
- whop_sdk/resources/forum_posts.py +512 -0
- whop_sdk/resources/invoices.py +633 -0
- whop_sdk/resources/ledger_accounts.py +171 -0
- whop_sdk/resources/memberships.py +810 -0
- whop_sdk/resources/messages.py +446 -0
- whop_sdk/resources/payments.py +761 -0
- whop_sdk/resources/plans.py +906 -0
- whop_sdk/resources/products.py +969 -0
- whop_sdk/resources/reactions.py +423 -0
- whop_sdk/resources/shipments.py +451 -0
- whop_sdk/resources/support_channels.py +455 -0
- whop_sdk/resources/transfers.py +488 -0
- whop_sdk/resources/users.py +248 -0
- whop_sdk/resources/webhooks.py +69 -0
- whop_sdk/types/__init__.py +135 -0
- whop_sdk/types/app_build_create_params.py +59 -0
- whop_sdk/types/app_build_list_params.py +34 -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 +54 -0
- whop_sdk/types/app_list_response.py +91 -0
- whop_sdk/types/app_update_params.py +58 -0
- whop_sdk/types/authorized_user_list_params.py +33 -0
- whop_sdk/types/authorized_user_list_response.py +33 -0
- whop_sdk/types/authorized_user_retrieve_response.py +33 -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 +129 -0
- whop_sdk/types/checkout_configuration_list_params.py +33 -0
- whop_sdk/types/checkout_configuration_list_response.py +66 -0
- whop_sdk/types/course_lesson_interaction_list_params.py +34 -0
- whop_sdk/types/entry_approve_response.py +10 -0
- whop_sdk/types/entry_list_params.py +44 -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_list_params.py +31 -0
- whop_sdk/types/experience_list_response.py +47 -0
- whop_sdk/types/experience_update_params.py +41 -0
- whop_sdk/types/forum_post_create_params.py +85 -0
- whop_sdk/types/forum_post_list_params.py +31 -0
- whop_sdk/types/forum_post_list_response.py +53 -0
- whop_sdk/types/invoice_create_params.py +137 -0
- whop_sdk/types/invoice_create_response.py +16 -0
- whop_sdk/types/invoice_created_webhook_event.py +26 -0
- whop_sdk/types/invoice_list_params.py +50 -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/ledger_account_retrieve_response.py +78 -0
- whop_sdk/types/membership_cancel_params.py +13 -0
- whop_sdk/types/membership_list_params.py +70 -0
- whop_sdk/types/membership_list_response.py +117 -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 +51 -0
- whop_sdk/types/message_list_params.py +30 -0
- whop_sdk/types/message_list_response.py +90 -0
- whop_sdk/types/payment_list_params.py +72 -0
- whop_sdk/types/payment_list_response.py +221 -0
- whop_sdk/types/payment_refund_params.py +13 -0
- whop_sdk/types/plan_create_params.py +106 -0
- whop_sdk/types/plan_delete_response.py +7 -0
- whop_sdk/types/plan_list_params.py +49 -0
- whop_sdk/types/plan_list_response.py +92 -0
- whop_sdk/types/plan_update_params.py +95 -0
- whop_sdk/types/product_create_params.py +170 -0
- whop_sdk/types/product_delete_response.py +7 -0
- whop_sdk/types/product_list_params.py +41 -0
- whop_sdk/types/product_update_params.py +90 -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/shared/__init__.py +55 -0
- whop_sdk/types/shared/access_pass_type.py +7 -0
- whop_sdk/types/shared/app.py +159 -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 +66 -0
- whop_sdk/types/shared/collection_method.py +7 -0
- whop_sdk/types/shared/company.py +71 -0
- whop_sdk/types/shared/course_lesson_interaction.py +44 -0
- whop_sdk/types/shared/course_lesson_interaction_list_item.py +44 -0
- whop_sdk/types/shared/currency.py +92 -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/entry.py +70 -0
- whop_sdk/types/shared/entry_status.py +7 -0
- whop_sdk/types/shared/experience.py +66 -0
- whop_sdk/types/shared/forum_post.py +53 -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 +61 -0
- whop_sdk/types/shared/invoice_list_item.py +61 -0
- whop_sdk/types/shared/invoice_status.py +7 -0
- whop_sdk/types/shared/membership.py +117 -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 +211 -0
- whop_sdk/types/shared/plan.py +123 -0
- whop_sdk/types/shared/plan_type.py +7 -0
- whop_sdk/types/shared/product.py +124 -0
- whop_sdk/types/shared/product_list_item.py +49 -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 +109 -0
- whop_sdk/types/shared/visibility.py +7 -0
- whop_sdk/types/shared/visibility_filter.py +9 -0
- whop_sdk/types/shared/who_can_post.py +7 -0
- whop_sdk/types/shared/who_can_react.py +7 -0
- whop_sdk/types/shared_params/__init__.py +27 -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 +94 -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/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/membership_status.py +11 -0
- whop_sdk/types/shared_params/plan_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_post.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 +36 -0
- whop_sdk/types/transfer_list_params.py +42 -0
- whop_sdk/types/transfer_list_response.py +35 -0
- whop_sdk/types/unwrap_webhook_event.py +15 -0
- whop_sdk/types/user_check_access_response.py +15 -0
- whop_sdk/types/user_retrieve_response.py +25 -0
- whop_sdk-0.0.1.dist-info/METADATA +522 -0
- whop_sdk-0.0.1.dist-info/RECORD +212 -0
- whop_sdk-0.0.1.dist-info/WHEEL +4 -0
- whop_sdk-0.0.1.dist-info/licenses/LICENSE +201 -0
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
|
|
5
|
+
from .._models import BaseModel
|
|
6
|
+
from .shared.app_statuses import AppStatuses
|
|
7
|
+
|
|
8
|
+
__all__ = ["AppListResponse", "Company", "Creator"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class Company(BaseModel):
|
|
12
|
+
id: str
|
|
13
|
+
"""The ID (tag) of the company."""
|
|
14
|
+
|
|
15
|
+
title: str
|
|
16
|
+
"""The title of the company."""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class Creator(BaseModel):
|
|
20
|
+
id: str
|
|
21
|
+
"""The internal ID of the user."""
|
|
22
|
+
|
|
23
|
+
name: Optional[str] = None
|
|
24
|
+
"""The name of the user from their Whop account."""
|
|
25
|
+
|
|
26
|
+
username: str
|
|
27
|
+
"""The username of the user from their Whop account."""
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class AppListResponse(BaseModel):
|
|
31
|
+
id: str
|
|
32
|
+
"""The ID of the app"""
|
|
33
|
+
|
|
34
|
+
base_url: Optional[str] = None
|
|
35
|
+
"""The base url of the app"""
|
|
36
|
+
|
|
37
|
+
company: Company
|
|
38
|
+
"""The company that owns the app"""
|
|
39
|
+
|
|
40
|
+
creator: Creator
|
|
41
|
+
"""The creator of the app"""
|
|
42
|
+
|
|
43
|
+
dashboard_path: Optional[str] = None
|
|
44
|
+
"""The path part for a specific view of the app.
|
|
45
|
+
|
|
46
|
+
This is the template part of the url after the base domain. Eg:
|
|
47
|
+
/experiences/[experienceId]
|
|
48
|
+
"""
|
|
49
|
+
|
|
50
|
+
description: Optional[str] = None
|
|
51
|
+
"""The description of the app"""
|
|
52
|
+
|
|
53
|
+
discover_path: Optional[str] = None
|
|
54
|
+
"""The path part for a specific view of the app.
|
|
55
|
+
|
|
56
|
+
This is the template part of the url after the base domain. Eg:
|
|
57
|
+
/experiences/[experienceId]
|
|
58
|
+
"""
|
|
59
|
+
|
|
60
|
+
domain_id: str
|
|
61
|
+
"""The unique part of the proxied domain for this app.
|
|
62
|
+
|
|
63
|
+
Used to generate the base url used to display the app inside the whop platform.
|
|
64
|
+
Refers to the id part in the final url: https://{domain_id}.apps.whop.com
|
|
65
|
+
"""
|
|
66
|
+
|
|
67
|
+
experience_path: Optional[str] = None
|
|
68
|
+
"""The path part for a specific view of the app.
|
|
69
|
+
|
|
70
|
+
This is the template part of the url after the base domain. Eg:
|
|
71
|
+
/experiences/[experienceId]
|
|
72
|
+
"""
|
|
73
|
+
|
|
74
|
+
name: str
|
|
75
|
+
"""The name of the app"""
|
|
76
|
+
|
|
77
|
+
status: AppStatuses
|
|
78
|
+
"""If the status is live, the app is visible on Whop discovery.
|
|
79
|
+
|
|
80
|
+
In order to be live, you need to set the name, icon, and description. Being
|
|
81
|
+
unlisted or hidden means it's not visible on Whop but you can still install the
|
|
82
|
+
app via direct link. To remove the app from whop discovery, you should set the
|
|
83
|
+
status to unlisted.
|
|
84
|
+
"""
|
|
85
|
+
|
|
86
|
+
verified: bool
|
|
87
|
+
"""Whether this app has been verified by Whop.
|
|
88
|
+
|
|
89
|
+
Verified apps are endorsed by whop and are shown in the 'featured apps' section
|
|
90
|
+
of the app store.
|
|
91
|
+
"""
|
|
@@ -0,0 +1,58 @@
|
|
|
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, Optional
|
|
6
|
+
from typing_extensions import Literal, TypedDict
|
|
7
|
+
|
|
8
|
+
from .shared.app_statuses import AppStatuses
|
|
9
|
+
|
|
10
|
+
__all__ = ["AppUpdateParams", "Icon"]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class AppUpdateParams(TypedDict, total=False):
|
|
14
|
+
app_store_description: Optional[str]
|
|
15
|
+
"""The description of the app for the app store in-depth app view."""
|
|
16
|
+
|
|
17
|
+
base_url: Optional[str]
|
|
18
|
+
"""The base production url of the app"""
|
|
19
|
+
|
|
20
|
+
dashboard_path: Optional[str]
|
|
21
|
+
"""The path for the dashboard view of the app"""
|
|
22
|
+
|
|
23
|
+
description: Optional[str]
|
|
24
|
+
"""The description of the app"""
|
|
25
|
+
|
|
26
|
+
discover_path: Optional[str]
|
|
27
|
+
"""The path for the discover view of the app"""
|
|
28
|
+
|
|
29
|
+
experience_path: Optional[str]
|
|
30
|
+
"""The path for the hub view of the app"""
|
|
31
|
+
|
|
32
|
+
icon: Optional[Icon]
|
|
33
|
+
"""The icon for the app"""
|
|
34
|
+
|
|
35
|
+
name: Optional[str]
|
|
36
|
+
"""The name of the app"""
|
|
37
|
+
|
|
38
|
+
required_scopes: Optional[List[Literal["read_user"]]]
|
|
39
|
+
"""The scopes that the app will request off of users when a user installs the app."""
|
|
40
|
+
|
|
41
|
+
status: Optional[AppStatuses]
|
|
42
|
+
"""The status of an experience interface"""
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class Icon(TypedDict, total=False):
|
|
46
|
+
id: Optional[str]
|
|
47
|
+
"""The ID of an existing attachment object.
|
|
48
|
+
|
|
49
|
+
Use this when updating a resource and keeping a subset of the attachments. Don't
|
|
50
|
+
use this unless you know what you're doing.
|
|
51
|
+
"""
|
|
52
|
+
|
|
53
|
+
direct_upload_id: Optional[str]
|
|
54
|
+
"""This ID should be used the first time you upload an attachment.
|
|
55
|
+
|
|
56
|
+
It is the ID of the direct upload that was created when uploading the file to S3
|
|
57
|
+
via the mediaDirectUpload mutation.
|
|
58
|
+
"""
|
|
@@ -0,0 +1,33 @@
|
|
|
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
|
+
from .shared.authorized_user_roles import AuthorizedUserRoles
|
|
9
|
+
|
|
10
|
+
__all__ = ["AuthorizedUserListParams"]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class AuthorizedUserListParams(TypedDict, total=False):
|
|
14
|
+
company_id: Required[str]
|
|
15
|
+
"""The ID of the company to list authorized users for"""
|
|
16
|
+
|
|
17
|
+
after: Optional[str]
|
|
18
|
+
"""Returns the elements in the list that come after the specified cursor."""
|
|
19
|
+
|
|
20
|
+
before: Optional[str]
|
|
21
|
+
"""Returns the elements in the list that come before the specified cursor."""
|
|
22
|
+
|
|
23
|
+
first: Optional[int]
|
|
24
|
+
"""Returns the first _n_ elements from the list."""
|
|
25
|
+
|
|
26
|
+
last: Optional[int]
|
|
27
|
+
"""Returns the last _n_ elements from the list."""
|
|
28
|
+
|
|
29
|
+
role: Optional[AuthorizedUserRoles]
|
|
30
|
+
"""Possible roles an authorized user can have"""
|
|
31
|
+
|
|
32
|
+
user_id: Optional[str]
|
|
33
|
+
"""Filter by the user ID to check if the user is an authorized user"""
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
|
|
5
|
+
from .._models import BaseModel
|
|
6
|
+
from .shared.authorized_user_roles import AuthorizedUserRoles
|
|
7
|
+
|
|
8
|
+
__all__ = ["AuthorizedUserListResponse", "User"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class User(BaseModel):
|
|
12
|
+
id: str
|
|
13
|
+
"""The internal ID of the user."""
|
|
14
|
+
|
|
15
|
+
email: Optional[str] = None
|
|
16
|
+
"""The email of the user"""
|
|
17
|
+
|
|
18
|
+
name: Optional[str] = None
|
|
19
|
+
"""The name of the user from their Whop account."""
|
|
20
|
+
|
|
21
|
+
username: str
|
|
22
|
+
"""The username of the user from their Whop account."""
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class AuthorizedUserListResponse(BaseModel):
|
|
26
|
+
id: str
|
|
27
|
+
"""A unique ID representing the authorized user object."""
|
|
28
|
+
|
|
29
|
+
role: AuthorizedUserRoles
|
|
30
|
+
"""The role of the authorized user in the company."""
|
|
31
|
+
|
|
32
|
+
user: User
|
|
33
|
+
"""The user associated with the authorized user."""
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
|
|
5
|
+
from .._models import BaseModel
|
|
6
|
+
from .shared.authorized_user_roles import AuthorizedUserRoles
|
|
7
|
+
|
|
8
|
+
__all__ = ["AuthorizedUserRetrieveResponse", "User"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class User(BaseModel):
|
|
12
|
+
id: str
|
|
13
|
+
"""The internal ID of the user."""
|
|
14
|
+
|
|
15
|
+
email: Optional[str] = None
|
|
16
|
+
"""The email of the user"""
|
|
17
|
+
|
|
18
|
+
name: Optional[str] = None
|
|
19
|
+
"""The name of the user from their Whop account."""
|
|
20
|
+
|
|
21
|
+
username: str
|
|
22
|
+
"""The username of the user from their Whop account."""
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class AuthorizedUserRetrieveResponse(BaseModel):
|
|
26
|
+
id: str
|
|
27
|
+
"""A unique ID representing the authorized user object."""
|
|
28
|
+
|
|
29
|
+
role: AuthorizedUserRoles
|
|
30
|
+
"""The role of the authorized user in the company."""
|
|
31
|
+
|
|
32
|
+
user: User
|
|
33
|
+
"""The user associated with the authorized user."""
|
|
@@ -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__ = ["ChatChannelListParams"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class ChatChannelListParams(TypedDict, total=False):
|
|
12
|
+
company_id: Required[str]
|
|
13
|
+
"""The ID of the company to list chat channels 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 chat channels connected to this product are returned"""
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
|
|
5
|
+
from .._models import BaseModel
|
|
6
|
+
from .shared.who_can_post import WhoCanPost
|
|
7
|
+
from .shared.who_can_react import WhoCanReact
|
|
8
|
+
|
|
9
|
+
__all__ = ["ChatChannelListResponse", "Experience"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class Experience(BaseModel):
|
|
13
|
+
id: str
|
|
14
|
+
"""The unique ID representing this experience"""
|
|
15
|
+
|
|
16
|
+
name: str
|
|
17
|
+
"""The written name of the description."""
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class ChatChannelListResponse(BaseModel):
|
|
21
|
+
id: str
|
|
22
|
+
"""The unique identifier for the entity"""
|
|
23
|
+
|
|
24
|
+
ban_media: bool
|
|
25
|
+
"""Whether or not media is banned in this chat"""
|
|
26
|
+
|
|
27
|
+
ban_urls: bool
|
|
28
|
+
"""Whether or not URLs are banned in this chat"""
|
|
29
|
+
|
|
30
|
+
banned_words: List[str]
|
|
31
|
+
"""List of banned words in this chat"""
|
|
32
|
+
|
|
33
|
+
experience: Experience
|
|
34
|
+
"""The experience for this chat"""
|
|
35
|
+
|
|
36
|
+
user_posts_cooldown_seconds: Optional[int] = None
|
|
37
|
+
"""The number of seconds a user needs to wait before posting again, if any"""
|
|
38
|
+
|
|
39
|
+
who_can_post: WhoCanPost
|
|
40
|
+
"""Who can post on this chat"""
|
|
41
|
+
|
|
42
|
+
who_can_react: WhoCanReact
|
|
43
|
+
"""Who can react on this chat"""
|
|
@@ -0,0 +1,32 @@
|
|
|
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
|
+
from .._types import SequenceNotStr
|
|
9
|
+
from .shared.who_can_post import WhoCanPost
|
|
10
|
+
from .shared.who_can_react import WhoCanReact
|
|
11
|
+
|
|
12
|
+
__all__ = ["ChatChannelUpdateParams"]
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class ChatChannelUpdateParams(TypedDict, total=False):
|
|
16
|
+
ban_media: Optional[bool]
|
|
17
|
+
"""Whether media uploads are banned in this chat"""
|
|
18
|
+
|
|
19
|
+
ban_urls: Optional[bool]
|
|
20
|
+
"""Whether URLs are banned in this chat"""
|
|
21
|
+
|
|
22
|
+
banned_words: Optional[SequenceNotStr[str]]
|
|
23
|
+
"""List of banned words for this chat"""
|
|
24
|
+
|
|
25
|
+
user_posts_cooldown_seconds: Optional[int]
|
|
26
|
+
"""The cooldown period in seconds between user posts"""
|
|
27
|
+
|
|
28
|
+
who_can_post: Optional[WhoCanPost]
|
|
29
|
+
"""Who can post on a chat feed"""
|
|
30
|
+
|
|
31
|
+
who_can_react: Optional[WhoCanReact]
|
|
32
|
+
"""Who can react on a chat feed"""
|
|
@@ -0,0 +1,129 @@
|
|
|
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 Dict, Iterable, Optional
|
|
6
|
+
from typing_extensions import Literal, Required, TypedDict
|
|
7
|
+
|
|
8
|
+
from .shared.currency import Currency
|
|
9
|
+
from .shared.tax_type import TaxType
|
|
10
|
+
from .shared.plan_type import PlanType
|
|
11
|
+
from .shared.visibility import Visibility
|
|
12
|
+
from .shared.release_method import ReleaseMethod
|
|
13
|
+
|
|
14
|
+
__all__ = ["CheckoutConfigurationCreateParams", "Plan", "PlanCustomField", "PlanImage"]
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class CheckoutConfigurationCreateParams(TypedDict, total=False):
|
|
18
|
+
affiliate_code: Optional[str]
|
|
19
|
+
"""The affiliate code to use for the checkout session"""
|
|
20
|
+
|
|
21
|
+
metadata: Optional[Dict[str, object]]
|
|
22
|
+
"""The metadata to use for the checkout session"""
|
|
23
|
+
|
|
24
|
+
plan: Optional[Plan]
|
|
25
|
+
"""Pass this object to create a new plan for this checkout session"""
|
|
26
|
+
|
|
27
|
+
plan_id: Optional[str]
|
|
28
|
+
"""The ID of the plan to use for the checkout session"""
|
|
29
|
+
|
|
30
|
+
redirect_url: Optional[str]
|
|
31
|
+
"""The URL to redirect the user to after the checkout session is created"""
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class PlanCustomField(TypedDict, total=False):
|
|
35
|
+
field_type: Required[Literal["text"]]
|
|
36
|
+
"""The type of the custom field."""
|
|
37
|
+
|
|
38
|
+
name: Required[str]
|
|
39
|
+
"""The name of the custom field."""
|
|
40
|
+
|
|
41
|
+
id: Optional[str]
|
|
42
|
+
"""The ID of the custom field (if being updated)"""
|
|
43
|
+
|
|
44
|
+
order: Optional[int]
|
|
45
|
+
"""The order of the field."""
|
|
46
|
+
|
|
47
|
+
placeholder: Optional[str]
|
|
48
|
+
"""The placeholder value of the field."""
|
|
49
|
+
|
|
50
|
+
required: Optional[bool]
|
|
51
|
+
"""Whether or not the field is required."""
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
class PlanImage(TypedDict, total=False):
|
|
55
|
+
id: Optional[str]
|
|
56
|
+
"""The ID of an existing attachment object.
|
|
57
|
+
|
|
58
|
+
Use this when updating a resource and keeping a subset of the attachments. Don't
|
|
59
|
+
use this unless you know what you're doing.
|
|
60
|
+
"""
|
|
61
|
+
|
|
62
|
+
direct_upload_id: Optional[str]
|
|
63
|
+
"""This ID should be used the first time you upload an attachment.
|
|
64
|
+
|
|
65
|
+
It is the ID of the direct upload that was created when uploading the file to S3
|
|
66
|
+
via the mediaDirectUpload mutation.
|
|
67
|
+
"""
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
class Plan(TypedDict, total=False):
|
|
71
|
+
company_id: Required[str]
|
|
72
|
+
"""The company the plan should be created for."""
|
|
73
|
+
|
|
74
|
+
billing_period: Optional[int]
|
|
75
|
+
"""The interval at which the plan charges (renewal plans)."""
|
|
76
|
+
|
|
77
|
+
currency: Optional[Currency]
|
|
78
|
+
"""The available currencies on the platform"""
|
|
79
|
+
|
|
80
|
+
custom_fields: Optional[Iterable[PlanCustomField]]
|
|
81
|
+
"""An array of custom field objects."""
|
|
82
|
+
|
|
83
|
+
description: Optional[str]
|
|
84
|
+
"""The description of the plan."""
|
|
85
|
+
|
|
86
|
+
expiration_days: Optional[int]
|
|
87
|
+
"""The interval at which the plan charges (expiration plans)."""
|
|
88
|
+
|
|
89
|
+
force_create_new_plan: Optional[bool]
|
|
90
|
+
"""
|
|
91
|
+
Whether to force the creation of a new plan even if one with the same attributes
|
|
92
|
+
already exists.
|
|
93
|
+
"""
|
|
94
|
+
|
|
95
|
+
image: Optional[PlanImage]
|
|
96
|
+
"""An image for the plan. This will be visible on the product page to customers."""
|
|
97
|
+
|
|
98
|
+
initial_price: Optional[float]
|
|
99
|
+
"""An additional amount charged upon first purchase."""
|
|
100
|
+
|
|
101
|
+
internal_notes: Optional[str]
|
|
102
|
+
"""A personal description or notes section for the business."""
|
|
103
|
+
|
|
104
|
+
override_tax_type: Optional[TaxType]
|
|
105
|
+
"""
|
|
106
|
+
Whether or not the tax is included in a plan's price (or if it hasn't been set
|
|
107
|
+
up)
|
|
108
|
+
"""
|
|
109
|
+
|
|
110
|
+
plan_type: Optional[PlanType]
|
|
111
|
+
"""The type of plan that can be attached to an access pass"""
|
|
112
|
+
|
|
113
|
+
product_id: Optional[str]
|
|
114
|
+
"""The product the plan is related to."""
|
|
115
|
+
|
|
116
|
+
release_method: Optional[ReleaseMethod]
|
|
117
|
+
"""The methods of how a plan can be released."""
|
|
118
|
+
|
|
119
|
+
renewal_price: Optional[float]
|
|
120
|
+
"""The amount the customer is charged every billing period."""
|
|
121
|
+
|
|
122
|
+
title: Optional[str]
|
|
123
|
+
"""The title of the plan. This will be visible on the product page to customers."""
|
|
124
|
+
|
|
125
|
+
trial_period_days: Optional[int]
|
|
126
|
+
"""The number of free trial days added before a renewal plan."""
|
|
127
|
+
|
|
128
|
+
visibility: Optional[Visibility]
|
|
129
|
+
"""Visibility of a resource"""
|
|
@@ -0,0 +1,33 @@
|
|
|
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
|
+
from .shared.direction import Direction
|
|
9
|
+
|
|
10
|
+
__all__ = ["CheckoutConfigurationListParams"]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class CheckoutConfigurationListParams(TypedDict, total=False):
|
|
14
|
+
company_id: Required[str]
|
|
15
|
+
"""The ID of the company to list checkout configurations for"""
|
|
16
|
+
|
|
17
|
+
after: Optional[str]
|
|
18
|
+
"""Returns the elements in the list that come after the specified cursor."""
|
|
19
|
+
|
|
20
|
+
before: Optional[str]
|
|
21
|
+
"""Returns the elements in the list that come before the specified cursor."""
|
|
22
|
+
|
|
23
|
+
direction: Optional[Direction]
|
|
24
|
+
"""The direction of the sort."""
|
|
25
|
+
|
|
26
|
+
first: Optional[int]
|
|
27
|
+
"""Returns the first _n_ elements from the list."""
|
|
28
|
+
|
|
29
|
+
last: Optional[int]
|
|
30
|
+
"""Returns the last _n_ elements from the list."""
|
|
31
|
+
|
|
32
|
+
plan_id: Optional[str]
|
|
33
|
+
"""The ID of the plan to filter checkout configurations by"""
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Dict, Optional
|
|
4
|
+
|
|
5
|
+
from .._models import BaseModel
|
|
6
|
+
from .shared.currency import Currency
|
|
7
|
+
from .shared.plan_type import PlanType
|
|
8
|
+
from .shared.visibility import Visibility
|
|
9
|
+
from .shared.release_method import ReleaseMethod
|
|
10
|
+
|
|
11
|
+
__all__ = ["CheckoutConfigurationListResponse", "Plan"]
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class Plan(BaseModel):
|
|
15
|
+
id: str
|
|
16
|
+
"""The internal ID of the plan."""
|
|
17
|
+
|
|
18
|
+
billing_period: Optional[int] = None
|
|
19
|
+
"""The interval at which the plan charges (renewal plans)."""
|
|
20
|
+
|
|
21
|
+
currency: Currency
|
|
22
|
+
"""The respective currency identifier for the plan."""
|
|
23
|
+
|
|
24
|
+
expiration_days: Optional[int] = None
|
|
25
|
+
"""The interval at which the plan charges (expiration plans)."""
|
|
26
|
+
|
|
27
|
+
initial_price: float
|
|
28
|
+
"""The price a person has to pay for a plan on the initial purchase."""
|
|
29
|
+
|
|
30
|
+
plan_type: PlanType
|
|
31
|
+
"""Indicates if the plan is a one time payment or recurring."""
|
|
32
|
+
|
|
33
|
+
release_method: ReleaseMethod
|
|
34
|
+
"""This is the release method the business uses to sell this plan."""
|
|
35
|
+
|
|
36
|
+
renewal_price: float
|
|
37
|
+
"""The price a person has to pay for a plan on the renewal purchase."""
|
|
38
|
+
|
|
39
|
+
trial_period_days: Optional[int] = None
|
|
40
|
+
"""The number of free trial days added before a renewal plan."""
|
|
41
|
+
|
|
42
|
+
visibility: Visibility
|
|
43
|
+
"""Shows or hides the plan from public/business view."""
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class CheckoutConfigurationListResponse(BaseModel):
|
|
47
|
+
id: str
|
|
48
|
+
"""The ID of the checkout session"""
|
|
49
|
+
|
|
50
|
+
affiliate_code: str
|
|
51
|
+
"""The affiliate code to use for the checkout session"""
|
|
52
|
+
|
|
53
|
+
company_id: str
|
|
54
|
+
"""The ID of the company to use for the checkout session"""
|
|
55
|
+
|
|
56
|
+
metadata: Dict[str, object]
|
|
57
|
+
"""The metadata to use for the checkout session"""
|
|
58
|
+
|
|
59
|
+
plan: Plan
|
|
60
|
+
"""The plan to use for the checkout session"""
|
|
61
|
+
|
|
62
|
+
purchase_url: str
|
|
63
|
+
"""The URL to redirect the user to after the checkout session is created"""
|
|
64
|
+
|
|
65
|
+
redirect_url: str
|
|
66
|
+
"""The URL to redirect the user to after the checkout session is created"""
|
|
@@ -0,0 +1,34 @@
|
|
|
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__ = ["CourseLessonInteractionListParams"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class CourseLessonInteractionListParams(TypedDict, total=False):
|
|
12
|
+
after: Optional[str]
|
|
13
|
+
"""Returns the elements in the list that come after the specified cursor."""
|
|
14
|
+
|
|
15
|
+
before: Optional[str]
|
|
16
|
+
"""Returns the elements in the list that come before the specified cursor."""
|
|
17
|
+
|
|
18
|
+
completed: Optional[bool]
|
|
19
|
+
"""Whether the lesson has been completed by the user"""
|
|
20
|
+
|
|
21
|
+
course_id: Optional[str]
|
|
22
|
+
"""The ID of the course to list course lesson interactions for"""
|
|
23
|
+
|
|
24
|
+
first: Optional[int]
|
|
25
|
+
"""Returns the first _n_ elements from the list."""
|
|
26
|
+
|
|
27
|
+
last: Optional[int]
|
|
28
|
+
"""Returns the last _n_ elements from the list."""
|
|
29
|
+
|
|
30
|
+
lesson_id: Optional[str]
|
|
31
|
+
"""The ID of the lesson to list course lesson interactions for"""
|
|
32
|
+
|
|
33
|
+
user_id: Optional[str]
|
|
34
|
+
"""The ID of the user to list course lesson interactions for"""
|
|
@@ -0,0 +1,44 @@
|
|
|
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, Optional
|
|
6
|
+
from typing_extensions import Literal, Required, TypedDict
|
|
7
|
+
|
|
8
|
+
from .._types import SequenceNotStr
|
|
9
|
+
from .shared.direction import Direction
|
|
10
|
+
from .shared.entry_status import EntryStatus
|
|
11
|
+
|
|
12
|
+
__all__ = ["EntryListParams"]
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class EntryListParams(TypedDict, total=False):
|
|
16
|
+
company_id: Required[str]
|
|
17
|
+
"""The ID of the company"""
|
|
18
|
+
|
|
19
|
+
after: Optional[str]
|
|
20
|
+
"""Returns the elements in the list that come after the specified cursor."""
|
|
21
|
+
|
|
22
|
+
before: Optional[str]
|
|
23
|
+
"""Returns the elements in the list that come before the specified cursor."""
|
|
24
|
+
|
|
25
|
+
direction: Optional[Direction]
|
|
26
|
+
"""The direction of the sort."""
|
|
27
|
+
|
|
28
|
+
first: Optional[int]
|
|
29
|
+
"""Returns the first _n_ elements from the list."""
|
|
30
|
+
|
|
31
|
+
last: Optional[int]
|
|
32
|
+
"""Returns the last _n_ elements from the list."""
|
|
33
|
+
|
|
34
|
+
order: Optional[Literal["id", "created_at"]]
|
|
35
|
+
"""Which columns can be used to sort."""
|
|
36
|
+
|
|
37
|
+
plan_ids: Optional[SequenceNotStr[str]]
|
|
38
|
+
"""The plan IDs to filter the entries by"""
|
|
39
|
+
|
|
40
|
+
product_ids: Optional[SequenceNotStr[str]]
|
|
41
|
+
"""The product IDs to filter the entries by"""
|
|
42
|
+
|
|
43
|
+
statuses: Optional[List[EntryStatus]]
|
|
44
|
+
"""The statuses to filter the entries by"""
|