/** * This file was auto-generated by openapi-typescript. * Do not make direct changes to the file. */ /** OneOf type helpers */ type Without = { [P in Exclude]?: never; }; type XOR = (T | U) extends object ? (Without & U) | (Without & T) : T | U; type OneOf = T extends [infer Only] ? Only : T extends [infer A, infer B, ...infer Rest] ? OneOf<[XOR, ...Rest]> : never; export interface paths { "/v5/app/search/documents": { /** * Create a document * @description Create a document */ post: operations["post_api_v5_app_search_document"]; }; "/v5/app/documents/{id}": { /** @description Deletes a document */ delete: operations["delete_api_v5_app_search_document_id"]; /** Update a document */ patch: operations["update_api_v5_app_search_document_id"]; }; "/v5/oauth/token": { /** * Create an OAuth Token * @description Exchange a code for a token */ post: operations["post_api_v5_oauth_token"]; }; "/v5/app": { /** * Retrieve the current app * @description Returns an App */ get: operations["get_api_v5_app"]; }; "/v5/app/app_connections": { /** * List App Connections * @description Returns a collection of app connections */ get: operations["get_api_v5_app_app_connections"]; /** * Create an App Connection * @description Create an app connection for an object */ post: operations["post_api_v5_app_app_connections"]; }; "/v5/app/feed_content_items": { /** * Create a Feed Content Item * @description Create a Feed Content Item */ post: operations["post_api_v5_app_feed_content_items"]; }; "/v5/app/feed_content_items/{external_id}": { /** * Delete a Feed Content Item * @description Deletes a Feed Content Item */ delete: operations["delete_api_v5_app_feed_content_item"]; }; "/v5/app/last_activity": { /** * Create a last activity * @description Create a last activity cache and update this experience's last activity timestamp */ post: operations["post_api_v5_app_last_activity"]; }; "/v5/app/activity_feed_items": { /** * Create an Activity Feed Item * @description Create an activity feed object (aka a post) */ post: operations["post_api_v5_app_activity_feed_items"]; }; "/v5/app/activity_feed_items/{external_id}": { /** * Delete an Activity Feed Item * @description Deletes an Activity Feed Item */ delete: operations["delete_api_v5_app_activity_feed_item"]; /** Update an Activity Feed Item */ patch: operations["update_api_v5_app_activity_feed_item"]; }; "/v5/app/app_connections/{id}": { /** * Retrieve an app connection * @description Returns an app connection */ get: operations["get_api_v5_app_app_connections_id"]; /** * Delete an App Connection * @description Deletes an App Connection */ delete: operations["delete_api_v5_app_app_connections_id"]; }; "/v5/app/companies": { /** * List Companies * @description Returns a collection of companies */ get: operations["get_api_v5_app_companies"]; }; "/v5/app/companies/{id}": { /** * Retrieve a Company * @description Returns a company */ get: operations["get_api_v5_app_companies_id"]; }; "/v5/app/experiences": { /** * List Experiences * @description Returns a collection of experiences */ get: operations["get_api_v5_app_experiences"]; }; "/v5/app/experiences/{id}": { /** * Retrieve an Experience * @description Returns an experience */ get: operations["get_api_v5_app_experiences_id"]; /** * Update an Experience * @description Updates an experience */ patch: operations["patch_api_v5_app_experiences_id"]; }; "/v5/app/inbound_webhooks": { /** * List Inbound Webhooks * @description Returns a collection of inbound webhooks */ get: operations["get_api_v5_app_inbound_webhooks"]; /** * Create a Inbound Webhook * @description Create a Feed Content Item */ post: operations["post_api_v5_app_inbound_webhooks"]; }; "/v5/app/inbound_webhook_filters": { /** * List Inbound Webhooks Filters * @description Returns a collection of inbound webhook filters */ get: operations["get_api_v5_app_inbound_webhook_filters"]; /** * Creates or updates a Inbound Webhook Filter for a given experience * @description Create an Inbound Webhook Filter */ post: operations["post_api_v5_app_inbound_webhook_filters"]; }; "/v5/app/inbound_webhook_filters/{id}": { /** * Retrieve an Inbound Webhook Filter * @description Returns an inbound webhook filter */ get: operations["get_api_v5_app_inbound_webhook_filters"]; }; "/v5/app/inbound_webhook_filters/fetch_for_experience/{experience_id}": { /** * Retrieve an Experience's Inbound Webhook Filters * @description Returns an inbound webhook filter */ get: operations["get_api_v5_app_inbound_webhook_filters"]; }; "/v5/app/line_items": { /** * List Line Items * @description Returns a collection of line items */ get: operations["get_api_v5_app_line_items"]; /** * Create a Line Item * @description Create a line item for a company */ post: operations["post_api_v5_app_line_items"]; }; "/v5/app/line_items/{id}": { /** * Retrieve a Line Item * @description Returns a line item */ get: operations["get_api_v5_app_line_items_id"]; /** * Delete a Line Item * @description Deletes a line item */ delete: operations["delete_api_v5_app_line_items_id"]; /** * Update a Line Item * @description Updates a line item's metadata field */ patch: operations["update_api_v5_app_line_items_id"]; }; "/v5/app/notification_topics": { /** * List Notification Topics * @description Returns a collection of notification topics */ get: operations["get_api_v5_app_notification_topics"]; /** * Create a Notification Topic * @description Create a notification topic for a company */ post: operations["post_api_v5_app_notification_topics"]; }; "/v5/app/notification_topics/{id}": { /** * Retrieve a Notification Topic * @description Returns a notification topic */ get: operations["get_api_v5_app_notification_topics_id"]; /** * Update a Notification Topic * @description Updates a notification topic */ patch: operations["update_api_v5_app_notification_topics_id"]; }; "/v5/app/members": { /** * List Members * @description Returns a collection of members */ get: operations["get_api_v5_app_members"]; }; "/v5/app/members/{id}": { /** * Retrieve a Member * @description Returns a member */ get: operations["get_api_v5_app_members_id"]; }; "/v5/app/authorized_users": { /** * List Authorized Users * @description Returns a collection of Authorized Users */ get: operations["get_api_v5_app_authorized_users"]; }; "/v5/app/authorized_users/{id}": { /** * Retrieve an Authorized User * @description Returns an Authorized User */ get: operations["get_api_v5_app_authorized_users_id"]; }; "/v5/app/reviews": { /** * List Reviews * @description Returns a collection of reviews */ get: operations["get_api_v5_app_reviews"]; }; "/v5/app/reviews/{id}": { /** * Retrieve a Review * @description Returns a review */ get: operations["get_api_v5_app_reviews_id"]; }; "/v5/app/memberships": { /** * List Memberships * @description Returns a collection of memberships. By default, the valid filter is set to true. */ get: operations["get_api_v5_app_memberships"]; }; "/v5/app/memberships/{id}": { /** * Retrieve a Membership * @description Returns a membership */ get: operations["get_api_v5_app_memberships_id"]; }; "/v5/app/memberships/{id}/add_free_days": { /** * Add Free Days to Membership * @description Adds free days to a membership */ post: operations["post_api_v5_app_memberships_id_add_free_days"]; }; "/v5/app/notifications/requests": { /** * Create a Notification Request * @description Send a notification to a set of targets */ post: operations["post_api_v5_app_notifications_requests"]; }; "/v5/app/notification_requests": { /** * Create a Notification Request * @description Send a notification to a set of targets */ post: operations["post_api_v5_app_notification_requests"]; }; "/v5/app/payments": { /** * List Payments * @description Returns a collection of payments */ get: operations["get_api_v5_app_payments"]; }; "/v5/app/payments/{id}": { /** * Retrieve a Payment * @description Returns a payment */ get: operations["get_api_v5_app_payments_id"]; }; "/v5/app/products": { /** * List Products * @description Returns a collection of products */ get: operations["get_api_v5_app_products"]; }; "/v5/app/products/{id}": { /** * Retrieve a Product * @description Returns a product */ get: operations["get_api_v5_app_products_id"]; }; "/v5/app/users": { /** * List all User * @description Returns a user */ get: operations["list_api_v5_app_users"]; }; "/v5/app/users/{id}": { /** * Retrieve a User * @description Returns a user */ get: operations["get_api_v5_app_users_id"]; }; "/v5/app/users/{user_id}/social_accounts": { /** * List a User's social accounts * @description Returns a User's social accounts */ get: operations["get_api_v5_app_users_id_social_accounts"]; }; "/v5/company/users/{id}": { /** * Retrieve a User * @description Returns a user */ get: operations["get_api_v5_company_users_id"]; }; "/v5/company/users/{user_id}/social_accounts": { /** * List a User's social accounts * @description Returns a User's social accounts */ get: operations["get_api_v5_company_users_id_social_accounts"]; }; "/v5/company/reviews": { /** * List Reviews * @description Returns a collection of reviews */ get: operations["get_api_v5_company_reviews"]; }; "/v5/company/reviews/{id}": { /** * Retrieve a Review * @description Returns a review */ get: operations["get_api_v5_company_reviews_id"]; }; "/v5/company/memberships": { /** * List Memberships * @description Returns a collection of memberships. By default, the valid filter is set to true. */ get: operations["get_api_v5_company_memberships"]; }; "/v5/company/memberships/{id}": { /** * Retrieve a Membership * @description Returns a membership */ get: operations["get_api_v5_company_memberships_id"]; /** * Terminate a Membership * @description Terminates the membership. No further payments will be made, and the customer will lose access. A terminated membership cannot be reactivated. */ delete: operations["delete_api_v5_company_memberships_id"]; /** * Update a Membership * @description Updates a membership's metadata */ patch: operations["update_api_v5_company_memberships_id"]; }; "/v5/company/payments": { /** * List Payments * @description Returns a collection of payments */ get: operations["get_api_v5_company_payments"]; }; "/v5/company/payments/{id}": { /** * Retrieve a Payment * @description Returns a payment */ get: operations["get_api_v5_company_payments_id"]; }; "/v5/company/products": { /** * List Products * @description Returns a collection of products */ get: operations["get_api_v5_company_products"]; }; "/v5/company/products/{id}": { /** * Retrieve a Product * @description Returns a product */ get: operations["get_api_v5_company_products_id"]; }; "/v5/company": { /** * Retrieve the current company * @description Returns a company */ get: operations["get_api_v5_company"]; }; "/v5/me/experiences": { /** * List Experiences * @description Returns a collection of experiences */ get: operations["get_api_v5_me_experiences"]; }; "/v5/me/experiences/{id}": { /** * Retrieve an Experience * @description Returns an experience */ get: operations["get_api_v5_me_experiences_id"]; }; "/v5/me": { /** * Retrieve the current user * @description Returns a user */ get: operations["get_api_v5_me"]; }; "/v5/me/social_accounts": { /** * List a User's social accounts * @description Returns a User's social accounts */ get: operations["get_api_v5_me_social_accounts"]; }; "/v5/me/reviews": { /** * List Reviews * @description Returns a collection of reviews */ get: operations["get_api_v5_me_reviews"]; }; "/v5/me/reviews/{id}": { /** * Retrieve a Review * @description Returns a review */ get: operations["get_api_v5_me_reviews_id"]; }; "/v5/me/memberships": { /** * List Memberships * @description Returns a collection of memberships. By default, the valid filter is set to true. */ get: operations["get_api_v5_me_memberships"]; }; "/v5/me/memberships/{id}": { /** * Retrieve a Membership * @description Returns a membership */ get: operations["get_api_v5_me_memberships_id"]; }; "/v5/me/payments": { /** * List Payments * @description Returns a collection of payments */ get: operations["get_api_v5_me_payments"]; }; "/v5/me/payments/{id}": { /** * Retrieve a Payment * @description Returns a payment */ get: operations["get_api_v5_me_payments_id"]; }; "/v5/me/products": { /** * List Products * @description Returns a collection of products */ get: operations["get_api_v5_me_products"]; }; "/v5/me/products/{id}": { /** * Retrieve a Product * @description Returns a product */ get: operations["get_api_v5_me_products_id"]; }; "/v5/me/companies/{id}": { /** * Retrieve a Company * @description Returns a company */ get: operations["get_api_v5_me_companies_id"]; }; } export interface webhooks { "app-membership-went-valid": { /** When a membership is purchased and goes valid */ post: operations["app-membership-went-valid"]; }; "app-membership-went-invalid": { /** When a membership goes invalid */ post: operations["app-membership-went-invalid"]; }; "app-payment-succeeded": { /** When a payment is successful */ post: operations["app-payment-succeeded"]; }; "app-payment-failed": { /** When a payment fails */ post: operations["app-payment-failed"]; }; "membership-went-valid": { /** When a membership is purchased and goes valid */ post: operations["membership-went-valid"]; }; "membership-went-invalid": { /** When a membership goes invalid */ post: operations["membership-went-invalid"]; }; "payment-succeeded": { /** When a payment is successful */ post: operations["payment-succeeded"]; }; "payment-failed": { /** When a payment fails */ post: operations["payment-failed"]; }; } export interface components { schemas: { ErrorResponse: { message?: string; }; Pagination: { /** @description Current page number */ current_page: number; /** @description Total number of pages */ total_pages: number; /** @description Next page number */ next_page: number; /** @description Previous page number */ prev_page: number; /** @description Total number of records */ total_count: number; }; SearchDocumentUpdateBody: { /** @description The title of the document */ title: string; /** @description The content of the document */ content: string; }; AppExperienceUpdateBody: { /** @description The metadata of the experience */ metadata: Record; }; SearchDocumentCreateBody: { /** @description The ID of the document */ id: string; /** @description The ID of the user */ user_id?: string; /** @description The title of the document */ title: string; /** @description The content of the document */ content: string; /** @description The ID of the experience */ experience_id: string; /** @description The REST path of the document */ rest_path: string; }; NotificationRequestBody: { topic_identifier: string; sender_user_id?: string; experience_id?: string; external_id?: string; link?: string; rest_path?: string; targets: { experience?: string; company?: string; company_team?: string; users?: string[]; }; body: { all?: { title?: string; content?: string; }; mobile?: { title?: string; subtitle?: string; content?: string; }; in_app?: { title?: string; content?: string; }; }; }; NotificationRequestBody2: { sender_user_id?: string; external_id?: string; link?: string; rest_path?: string; target: OneOf<[ { experience: string; }, { company: string; }, { company_team: string; } ]>; body: { title: string; subtitle?: string; content: string; }; topics: { topic_identifier: string; users?: string[]; }[]; }; NotificationRequestResponse: { /** @example created */ status?: string; /** @example We will attempt to send out your notification. This is processed in a background job, so we cannot confirm how many notifications were sent in this request. */ message?: string; }; OauthTokenCreateBody: { /** * @description The grant type * @enum {string} */ grant_type: "authorization_code"; /** @description The authorization code */ code: string; /** @description The client ID of your oAuth application. */ client_id: string; /** @description The client secret of your oAuth application. */ client_secret: string; /** @description The redirect URI */ redirect_uri: string; }; OauthToken: { /** @description The access token of the user */ access_token: string; }; AppApp: { /** @description The ID of the app, which will look like app_************* */ id: string; /** @description The date the app was created as a unix timestamp. */ created_at: number; /** @description The name of the app */ name: string; /** @description The ID of the company that owns this app, which will look like biz_************* */ company_id: string; /** @description The URL of the app's icon */ icon_url?: string; }; AppProduct: { /** @description The ID of the product, which will look like prod_************* */ id: string; /** @description The date the product was created */ created_at: number; /** @description The name of the product */ name: string; /** @description The ID of the company, which will look like biz_************* */ company_id: string; /** @description The description of the product */ description?: string; /** @description The ID of the page, which will look like page_************* */ page_id: string; /** * @description The visibility of the product * @enum {string} */ visibility: "visible" | "hidden" | "archived" | "quick_link"; }; AppAuthorizedUser: { /** @description The ID of the user, which will look like user_************* */ id: string; /** @description The username of the authorized user */ username: string; /** @description The email of the authorized user */ email: string; /** @description The role of the user */ role: string; /** @description The ID of the company, which will look like biz_************* */ company_id: string; user: components["schemas"]["AppUser"]; }; AppCompany: { /** @description The ID of the company object, which will look like biz_************* */ id: string; /** @description The date the company was created as a unix timestamp. */ created_at: number; /** @description The title of the company */ title: string; /** @description The URL of the company's image */ image_url?: string; authorized_user?: components["schemas"]["AppAuthorizedUser"]; /** @description Whether or not the company has a payment method on file to charge for metered billing usage. */ has_payment_method?: boolean; /** @description The route to the company's first/default page */ route?: string; owner: components["schemas"]["AppUser"]; }; AppExperience: { /** @description The ID of the experience, which will look like exp_************* */ id: string; /** @description The date the experience was created as a unix timestamp. */ created_at: number; /** @description The name of the experience */ name: string; /** @description The ID of the company, which will look like biz_************* */ company_id: string; product_ids: string[]; /** @description The ID of the app that created the experience, which will look like app_************* */ app_id: string; /** @description The URL of the app's icon */ app_icon_url?: string; /** * @description The access level of the experience * @enum {string} */ access_level?: "public" | "private"; features: string[]; /** @description The metadata of the experience */ metadata: Record; /** @description The full URL of the experience's app view in the Whop hub */ hub_url: string; }; AppSocialAccount: { /** * @description The type of social account that it is. * @enum {string} */ service: "discord" | "twitter"; /** @description The username of the social account */ username?: string; /** @description Whether or not this is the default social account for the user's account for the provider. */ default: boolean; /** @description The ID of the social account from the provider, like a discord ID or twitter ID. */ account_id: string; /** @description A URL for the image of the social account. */ image_url?: string; }; AppAppConnection: { /** @description The ID of the app connection, which will look like apco_************* */ id: string; /** @description The date the billing usage was created as a unix timestamp. */ created_at: number; /** @description The ID of the company, which will look like biz_************* */ company_id: string; /** @description The ID of the app, which will look like app_************* */ app_id: string; /** @description The ID of the polymorphic resource for the connection. Ex. a product ID like prod_*************. */ resource_id: string; /** * @description The type of the polymorphic resource for the connection. Ex. 'product' * @enum {string} */ resource_type: "product"; /** * @description The type of view for the connection. * @enum {string} */ view_type: "customer_before_checkout_view"; }; AppAppConnectionCreateBody: { /** @description The ID of the polymorphic resource for the connection. Ex. a product ID like prod_*************. */ resource_id: string; /** * @description The type of the polymorphic resource for the connection. Ex. 'product' * @enum {string} */ resource_type: "product"; /** * @description The type of view for the connection. * @enum {string} */ view_type: "customer_before_checkout_view"; }; AppInboundWebhookCreateBody: { /** @description The filter values of the inbound webhook */ filter_values: Record; /** @description The discord embed of the inbound webhook */ discord_embed: Record; /** @description The idempotent key of the inbound webhook */ idempotent_key?: string; /** @description The timestamp of the inbound webhook in ISO8601 format. Example: 2021-01-01T00:00:00Z */ timestamp: string; }; AppInboundWebhookFilterCreateBody: { /** @description The filters of the inbound webhook */ filters: Record; /** @description The ID of the experience, which will look like exp_************* */ experience_id: string; }; AppLastActivityCreateBody: { /** @description The ID of the experience, which will look like exp_************* */ experience_id: string; /** @description The ID of the user, which will look like user_************* */ user_id?: string; /** @description A data object that can accept any properties. */ data: { [key: string]: unknown; }; }; AppFeedContentItemCreateBody: { /** @description The ID of the experience, which will look like exp_************* */ experience_id: string; /** @description The ID of the user, which will look like user_************* */ user_id?: string; /** @description The ID of the external object that this maps to, like a feed post */ external_id: string; /** @description The ID of the parent external object that this maps to, like a feed post */ parent_external_id?: string; /** @description The relative path the user should be redirected to in the app */ rest_path?: string; /** @description The type of event that this feed post is associated with. */ event_type: string; /** @description A metadata object that can accept any properties. All metadata must include a 'title' property that is a String value. */ metadata: { [key: string]: unknown; }; /** @description The file attachments of the feed content item. This can be videos, images, or files. */ file_attachments?: ({ /** * @description The type of the file * @enum {string} */ type: "image" | "video" | "file"; /** @description The url of the file */ file_url: string; })[]; /** @description Any gifs attached to the feed content item. */ gifs?: { /** @description The height of the gif */ height: number; /** @description The width of the gif */ width: number; /** @description The original url of the gif */ original_url: string; /** @description The preview url of the gif */ preview_url: string; /** @description The url of the gif */ url: string; /** @description The slug of the gif */ slug: string; /** @description The title of the gif */ title: string; /** @description The provider of the gif */ provider: string; }[]; }; AppFeedContentItemCreateResponse: { /** @description The ID of the feed content item, which will look like fci_************* */ feed_content_item_id: string; }; AppActivityFeedItem: { /** @description The ID of the activity feed item, which will look like afi_************* */ activity_feed_item_id: string; }; AppActivityFeedItemCreateBody: { /** @description The ID of the experience, which will look like exp_************* */ experience_id: string; /** @description The ID of the user, which will look like user_************* */ user_id: string; /** @description The ID of the external object that this maps to, like a feed post */ external_id: string; /** @description The link that this feed post should open when clicked */ link?: string; /** @description The relative path the user should be redirected to in the app */ rest_path?: string; /** @description The blocks of the post */ blocks: { /** @description The type of the block */ block_type: string; /** @description The textual content of the block, if applicable */ text_content?: string; /** @description Any additional metadata associated with the block */ metadata?: Record; }[]; }; AppActivityFeedItemUpdateBody: { /** @description The link that this feed post should open when clicked */ link?: string; /** @description The relative path the user should be redirected to in the app */ rest_path?: string; /** @description The blocks of the post */ blocks?: { /** @description The type of the block */ block_type: string; /** @description The textual content of the block, if applicable */ text_content?: string; /** @description Any additional metadata associated with the block */ metadata?: Record; }[]; }; AppLineItem: { /** @description The ID of the line item, which will look like li_************* */ id: string; /** @description The amount (price) for the line item. */ amount: number; /** * @description A three letter currency code for the line item. * @enum {string} */ base_currency: "usd" | "sgd" | "inr" | "aud" | "brl" | "cad" | "dkk" | "eur" | "nok" | "gbp" | "sek" | "chf" | "hkd" | "huf" | "jpy" | "mxn" | "myr" | "pln" | "czk" | "nzd" | "aed" | "cop" | "ron" | "thb"; /** @description A textual description for the line item. */ description?: string; /** @description Whether or not the line item can be purchased as multiple quantity. */ allow_multiple_quantity: boolean; /** @description A JSON object containing any additional metadata for the line item. */ metadata?: Record; /** @description The name of the line item. */ name: string; /** @description The date the line item was created as a unix timestamp. */ created_at: number; }; AppLineItemCreateBody: { /** @description The ID of the company to create the line item for, which will look like biz_************* */ company_id: string; /** @description The amount (price) for the line item. */ amount: number; /** * @description A three letter currency code for the line item. * @enum {string} */ base_currency: "usd" | "sgd" | "inr" | "aud" | "brl" | "cad" | "dkk" | "eur" | "nok" | "gbp" | "sek" | "chf" | "hkd" | "huf" | "jpy" | "mxn" | "myr" | "pln" | "czk" | "nzd" | "aed" | "cop" | "ron" | "thb"; /** @description The name of the line item. */ name: string; /** @description A textual description for the line item. */ description?: string; /** @description Whether or not the line item can be purchased as multiple quantity. */ allow_multiple_quantity: boolean; /** @description A JSON object containing any additional metadata for the line item. */ metadata?: Record; }; AppLineItemUpdateBody: { /** @description A JSON object containing any additional metadata for the line item. */ metadata: Record; }; AppNotificationTopic: { /** @description The ID of the app, which will look like app_************* */ app_id?: string; /** @description The date the notification topic was created as a unix timestamp. */ created_at: number; /** @description The name of the notification topic */ name: string; /** @description The identifier of the notification topic */ topic_identifier: string; /** @description The description of the notification topic */ description?: string; notification_channel_identifiers?: ("email" | "sms" | "in_app" | "discord_dm" | "mobile")[]; /** * @description The status of the notification topic * @enum {string} */ status: "active" | "inactive"; /** * @description The type of the notification topic * @enum {string} */ topic_type: "company" | "user"; /** * @description The visibility of the notification topic * @enum {string} */ visibility: "visible" | "hidden"; }; AppNotificationTopicCreateBody: { /** @description The name of the notification topic */ name: string; /** @description The identifier of the notification topic */ topic_identifier: string; /** @description The description of the notification topic */ description?: string; notification_channel_identifiers: ("email" | "sms" | "in_app" | "discord_dm" | "mobile")[]; /** * @description The status of the notification topic * @enum {string} */ status?: "active" | "inactive"; /** * @description The type of the notification topic * @enum {string} */ topic_type: "company" | "user"; }; AppNotificationTopicUpdateBody: { /** @description The name of the notification topic */ name?: string; /** @description The identifier of the notification topic */ topic_identifier?: string; /** @description The description of the notification topic */ description?: string; notification_channel_identifiers?: ("email" | "sms" | "in_app" | "discord_dm" | "mobile")[]; /** * @description The status of the notification topic * @enum {string} */ status?: "active" | "inactive"; /** * @description The type of the notification topic * @enum {string} */ topic_type?: "company" | "user"; }; AppReview: { /** @description The ID of the review, which will look like rev_************* */ id: string; /** @description The ID of the company, which will look like biz_************* */ company_id: string; /** @description The ID of the user, which will look like user_************* */ user_id: string; /** @description The ID of the product, which will look like prod_************* */ product_id: string; /** * @description The status of the review * @enum {string} */ status: "pending" | "published" | "removed"; /** @description The rating of the review. It will be an integer between one and five. */ stars: number; /** @description The text response the user left for the review. */ description?: string; /** @description The date the customer first joined the creator's whop as a unix timestamp. */ joined_at?: number; /** @description The date the review was created as a unix timestamp. */ created_at: number; }; AppMembership: { /** @description The ID of the membership, which will look like mem_************* */ id: string; /** @description The ID of the product, which will look like prod_************* */ product_id: string; /** @description The ID of the user, which will look like user_************* */ user_id?: string; /** @description The ID of the plan, which will look like plan_************* */ plan_id: string; /** @description The ID of the page, which will look like page_************* */ page_id: string; /** @description The time at which the Membership was created. Measured in seconds since the Unix epoch. */ created_at: number; /** @description The time of when the Membership is set to go expired */ expires_at?: number; /** @description The UTC timestamp of when the Membership will begin */ renewal_period_start?: number; /** @description The UTC timestamp of when the Membership will end */ renewal_period_end?: number; /** @description The quantity purchased */ quantity: number; /** * @description The status of the membership * @enum {string} */ status: "trialing" | "active" | "past_due" | "completed" | "canceled" | "expired" | "unresolved"; /** @description Whether or not the membership is valid */ valid: boolean; /** @description Whether or not this membership is scheduled to cancel at the end of the renewal period. */ cancel_at_period_end?: boolean; /** @description The license key for the membership */ license_key?: string; /** @description The metadata for the membership */ metadata?: Record; /** @description The ID of the checkout used to first purchase / generate the membership. */ checkout_id?: string; /** @description The username of the affiliate that referred the customer to this membership, if any. */ affiliate_username?: string; /** @description The URL for the customer to manage their membership on whop.com. */ manage_url: string; /** @description The ID of the company that purchased/owns the membership. (For example, they installed an app). Looks like biz_************* */ company_buyer_id?: string; /** @description Whether or not the membership was purchased through the whop marketplace. */ marketplace?: boolean; }; AppMembershipAddFreeDaysBody: { /** @description The number of free days to add to the membership. */ days: number; }; AppPayment: { /** @description The ID of the payment, which will look like pay_************* */ id: string; /** @description The ID of the membership, which will look like mem_************* */ membership_id?: string; /** @description The ID of the product, which will look like prod_************* */ product_id?: string; /** @description The ID of the user, which will look like user_************* */ user_id?: string; /** @description The ID of the plan, which will look like plan_************* */ plan_id?: string; /** @description The ID of the company, which will look like biz_************* */ company_id: string; /** @description The line item this receipt was purchased with. This is for in-app purchases. */ line_item_id?: string; /** @description The time at which the Payment was created. Measured in seconds since the Unix epoch. Does not necessarily reflect the time the Payment was successful. */ created_at: number; /** @description The time at which the Payment was successful. Measured in seconds since the Unix epoch. */ paid_at?: number; /** @description The time at which the Payment was refunded. Measured in seconds since the Unix epoch. */ refunded_at?: number; /** @description The UTC timestamp of the last time the Payment was attempted */ last_payment_attempt?: number; /** @description The UTC timestamp of the next time the Payment will be attempted */ next_payment_attempt?: number; /** * @description The status of the payment * @enum {string} */ status: "paid" | "open" | "void" | "draft" | "uncollectible"; /** @description The amount paid by the User, before any discounts or taxes */ subtotal: number; /** @description The total amount paid by the User, including any discounts or taxes */ final_amount: number; /** * @description The three letter currency the Payment was made in * @enum {string} */ currency: "usd" | "sgd" | "inr" | "aud" | "brl" | "cad" | "dkk" | "eur" | "nok" | "gbp" | "sek" | "chf" | "hkd" | "huf" | "jpy" | "mxn" | "myr" | "pln" | "czk" | "nzd" | "aed" | "cop" | "ron" | "thb" | "eth"; /** @description The amount that was refunded to the User (if applicable) */ refunded_amount?: number; /** @description The number of times the Payment has failed */ payments_failed: number; /** @description The ID of the checkout used to execute this payment, if applicable. */ checkout_id?: string; /** @description If the payment was made with a credit/debit card, the brand of the card. */ card_brand?: string; /** @description The last 4 digits of the debit/credit card used to make the payment, if applicable. */ card_last_4?: string; /** * @description The funding method of the payment, if applicable. * @enum {string} */ funding_method?: "credit" | "debit" | "prepaid" | "unknown"; /** * @description The wallet type of the payment, if applicable. * @enum {string} */ wallet_type?: "apple_pay" | "google_pay" | "paypal" | "venmo"; /** @description The statement descriptor that appears on the customer's bank statement for the payment, if applicable. */ calculated_statement_descriptor?: string; /** @description The IIN/BIN of the payment, if applicable. */ issuer_identification_number?: string; billing_usage_ids?: string[]; /** @description The ID of the company that made the payment. (For example, they installed an app). Looks like biz_************* */ company_buyer_id?: string; }; AppUser: { /** @description The ID of the user, which will look like user_************* */ id: string; /** @description The first and last name of the user. */ name?: string; /** @description The username of the user */ username: string; /** @description The email of the user */ email?: string; /** @description The URL of the user's profile picture */ profile_pic_url?: string; /** @description The URL of the user's profile picture at 32x32 pixels */ profile_pic_url_32?: string; /** @description The URL of the user's profile picture at 64x64 pixels */ profile_pic_url_64?: string; /** @description The URL of the user's profile picture at 128x128 pixels */ profile_pic_url_128?: string; /** @description The date the user was created as a unix timestamp. */ created_at: number; }; AppMember: { /** @description The ID of the user, which will look like user_************* */ id: string; /** @description The ID of the company, which will look like biz_************* */ company_id: string; /** @description The ID of the user, which will look like user_************* */ user_id?: string; /** * @description The status of the member * @enum {string} */ status: "joined" | "left" | "drafted"; /** @description The most recent action of the member */ most_recent_action?: string; /** @description The date the member was created as a unix timestamp. */ joined_at: number; user?: components["schemas"]["AppUser"]; }; AppInboundWebhook: { /** @description The ID of the inbound webhook, which will look like inwh_************* */ id: string; /** @description The filter values of the inbound webhook */ filter_values: Record; /** @description The discord embed of the inbound webhook */ discord_embed: Record; /** @description The idempotent key of the inbound webhook */ idempotent_key?: string; /** @description The timestamp of the inbound webhook in ISO8601 format. Example: 2021-01-01T00:00:00Z */ timestamp: string; }; AppInboundWebhookFilter: { /** @description The ID of the inbound webhook, which will look like inwh_************* */ id: string; /** @description The values the experience will filter by */ filters: Record; /** @description The ID of the experience, which will look like exp_************* */ experience_id: string; }; CompanyReview: { /** @description The ID of the review, which will look like rev_************* */ id: string; /** @description The ID of the company, which will look like biz_************* */ company_id: string; /** @description The ID of the user, which will look like user_************* */ user_id: string; /** @description The ID of the product, which will look like prod_************* */ product_id: string; /** * @description The status of the review * @enum {string} */ status: "pending" | "published" | "removed"; /** @description The rating of the review. It will be an integer between one and five. */ stars: number; /** @description The text response the user left for the review. */ description?: string; /** @description The date the customer first joined the creator's whop as a unix timestamp. */ joined_at?: number; /** @description The date the review was created as a unix timestamp. */ created_at: number; }; CompanyProduct: { /** @description The ID of the product, which will look like prod_************* */ id: string; /** @description The date the product was created */ created_at: number; /** @description The name of the product */ name: string; /** @description The ID of the company, which will look like biz_************* */ company_id: string; /** @description The description of the product */ description?: string; /** @description The ID of the page, which will look like page_************* */ page_id: string; /** * @description The visibility of the product * @enum {string} */ visibility: "visible" | "hidden" | "archived" | "quick_link"; }; CompanyAuthorizedUser: { /** @description The ID of the user, which will look like user_************* */ id: string; /** @description The username of the authorized user */ username: string; /** @description The email of the authorized user */ email: string; /** @description The role of the user */ role: string; }; CompanyCompany: { /** @description The ID of the company object, which will look like biz_************* */ id: string; /** @description The date the company was created as a unix timestamp. */ created_at: number; /** @description The title of the company */ title: string; /** @description The URL of the company's image */ image_url?: string; authorized_user?: components["schemas"]["CompanyAuthorizedUser"]; /** @description The route to the company's first/default page */ route?: string; }; CompanyExperience: { /** @description The ID of the experience, which will look like exp_************* */ id: string; /** @description The date the experience was created as a unix timestamp. */ created_at: number; /** @description The name of the experience */ name: string; /** @description The ID of the company, which will look like biz_************* */ company_id: string; product_ids: string[]; /** @description The ID of the app that created the experience, which will look like app_************* */ app_id: string; /** @description The URL of the app's icon */ app_icon_url?: string; /** * @description The access level of the experience * @enum {string} */ access_level?: "public" | "private"; }; CompanyLineItem: { /** @description The ID of the line item, which will look like li_************* */ id: string; /** @description The amount (price) for the line item. */ amount: number; /** * @description A three letter currency code for the line item. * @enum {string} */ base_currency: "usd" | "sgd" | "inr" | "aud" | "brl" | "cad" | "dkk" | "eur" | "nok" | "gbp" | "sek" | "chf" | "hkd" | "huf" | "jpy" | "mxn" | "myr" | "pln" | "czk" | "nzd" | "aed" | "cop" | "ron" | "thb"; /** @description A textual description for the line item. */ description?: string; /** @description Whether or not the line item can be purchased as multiple quantity. */ allow_multiple_quantity: boolean; /** @description A JSON object containing any additional metadata for the line item. */ metadata?: Record; /** @description The name of the line item. */ name: string; /** @description The date the line item was created as a unix timestamp. */ created_at: number; }; CompanyRefund: { /** @description The ID of the refund, which will look like rf_************* */ id?: string; /** @description The status of the refund */ status?: string; /** @description The amount of the refund */ amount?: number; /** @description The currency of the refund */ currency?: string; /** @description The gateway type of the refund */ gateway_type?: string; /** @description The time at which the Refund was created. Measured in seconds since the Unix epoch. */ created_at?: number; /** @description The ID of the payment, which will look like pay_************* */ payment_id?: string; payment?: components["schemas"]["CompanyPayment"]; }; CompanyDispute: { /** @description The ID of the dispute, which will look like dspt_************* */ id?: string; /** @description The status of the dispute */ status?: string; /** @description The amount of the dispute */ amount?: number; /** @description The currency of the dispute */ currency?: string; /** @description The time at which the Dispute was created. Measured in seconds since the Unix epoch. */ created_at?: number; /** @description The ID of the payment, which will look like pay_************* */ payment_id?: string; payment?: components["schemas"]["CompanyPayment"]; }; CompanyMembership: { /** @description The ID of the membership, which will look like mem_************* */ id: string; /** @description The ID of the product, which will look like prod_************* */ product_id: string; /** @description The ID of the user, which will look like user_************* */ user_id?: string; /** @description The ID of the plan, which will look like plan_************* */ plan_id: string; /** @description The ID of the page, which will look like page_************* */ page_id: string; /** @description The time at which the Membership was created. Measured in seconds since the Unix epoch. */ created_at: number; /** @description The time of when the Membership is set to go expired */ expires_at?: number; /** @description The UTC timestamp of when the Membership will begin */ renewal_period_start?: number; /** @description The UTC timestamp of when the Membership will end */ renewal_period_end?: number; /** @description The quantity purchased */ quantity: number; /** * @description The status of the membership * @enum {string} */ status: "trialing" | "active" | "past_due" | "completed" | "canceled" | "expired" | "unresolved"; /** @description Whether or not the membership is valid */ valid: boolean; /** @description Whether or not this membership is scheduled to cancel at the end of the renewal period. */ cancel_at_period_end?: boolean; /** @description The license key for the membership */ license_key?: string; /** @description The metadata for the membership */ metadata?: Record; /** @description The ID of the checkout used to first purchase / generate the membership. */ checkout_id?: string; /** @description The username of the affiliate that referred the customer to this membership, if any. */ affiliate_username?: string; /** @description The URL for the customer to manage their membership on whop.com. */ manage_url: string; /** @description The ID of the company that purchased/owns the membership. (For example, they installed an app). Looks like biz_************* */ company_buyer_id?: string; /** @description Whether or not the membership was purchased through the whop marketplace. */ marketplace?: boolean; }; CompanyMembershipUpdateBody: { /** @description The metadata for the membership. */ metadata: Record; }; CompanyPayment: { /** @description The ID of the payment, which will look like pay_************* */ id: string; /** @description The ID of the membership, which will look like mem_************* */ membership_id?: string; /** @description The ID of the product, which will look like prod_************* */ product_id?: string; /** @description The ID of the user, which will look like user_************* */ user_id?: string; /** @description The ID of the plan, which will look like plan_************* */ plan_id?: string; /** @description The ID of the company, which will look like biz_************* */ company_id: string; /** @description The line item this receipt was purchased with. This is for in-app purchases. */ line_item_id?: string; /** @description The time at which the Payment was created. Measured in seconds since the Unix epoch. Does not necessarily reflect the time the Payment was successful. */ created_at: number; /** @description The time at which the Payment was successful. Measured in seconds since the Unix epoch. */ paid_at?: number; /** @description The time at which the Payment was refunded. Measured in seconds since the Unix epoch. */ refunded_at?: number; /** @description The UTC timestamp of the last time the Payment was attempted */ last_payment_attempt?: number; /** @description The UTC timestamp of the next time the Payment will be attempted */ next_payment_attempt?: number; /** * @description The status of the payment * @enum {string} */ status: "paid" | "open" | "void" | "draft" | "uncollectible"; /** @description The amount paid by the User, before any discounts or taxes */ subtotal: number; /** @description The total amount paid by the User, including any discounts or taxes */ final_amount: number; /** * @description The three letter currency the Payment was made in * @enum {string} */ currency: "usd" | "sgd" | "inr" | "aud" | "brl" | "cad" | "dkk" | "eur" | "nok" | "gbp" | "sek" | "chf" | "hkd" | "huf" | "jpy" | "mxn" | "myr" | "pln" | "czk" | "nzd" | "aed" | "cop" | "ron" | "thb" | "eth"; /** @description The amount that was refunded to the User (if applicable) */ refunded_amount?: number; /** @description The number of times the Payment has failed */ payments_failed: number; /** @description The ID of the checkout used to execute this payment, if applicable. */ checkout_id?: string; /** @description If the payment was made with a credit/debit card, the brand of the card. */ card_brand?: string; /** @description The last 4 digits of the debit/credit card used to make the payment, if applicable. */ card_last_4?: string; /** * @description The funding method of the payment, if applicable. * @enum {string} */ funding_method?: "credit" | "debit" | "prepaid" | "unknown"; /** * @description The wallet type of the payment, if applicable. * @enum {string} */ wallet_type?: "apple_pay" | "google_pay" | "paypal" | "venmo"; /** @description The statement descriptor that appears on the customer's bank statement for the payment, if applicable. */ calculated_statement_descriptor?: string; /** @description The IIN/BIN of the payment, if applicable. */ issuer_identification_number?: string; billing_usage_ids?: string[]; /** @description The ID of the company that made the payment. (For example, they installed an app). Looks like biz_************* */ company_buyer_id?: string; billing_address?: components["schemas"]["BillingAddress"]; /** @description The email of the user that made the payment */ user_email?: string; /** @description The username of the user that made the payment */ user_username?: string; /** @description The metadata attached to the payment's membership, if any. */ membership_metadata?: Record; affiliate?: components["schemas"]["UserAffiliate"]; }; CompanyUser: { /** @description The ID of the user, which will look like user_************* */ id: string; /** @description The first and last name of the user. */ name?: string; /** @description The username of the user */ username: string; /** @description The email of the user */ email?: string; /** @description The URL of the user's profile picture */ profile_pic_url?: string; }; CompanySocialAccount: { /** * @description The type of social account that it is. * @enum {string} */ service: "discord" | "twitter"; /** @description The username of the social account */ username?: string; /** @description Whether or not this is the default social account for the user's account for the provider. */ default: boolean; /** @description The ID of the social account from the provider, like a discord ID or twitter ID. */ account_id: string; /** @description A URL for the image of the social account. */ image_url?: string; }; MeProduct: { /** @description The ID of the product, which will look like prod_************* */ id: string; /** @description The date the product was created */ created_at: number; /** @description The name of the product */ name: string; /** @description The ID of the company, which will look like biz_************* */ company_id: string; /** @description The description of the product */ description?: string; /** @description The ID of the page, which will look like page_************* */ page_id: string; /** * @description The visibility of the product * @enum {string} */ visibility: "visible" | "hidden" | "archived" | "quick_link"; }; MeAuthorizedUser: { /** @description The ID of the user, which will look like user_************* */ id: string; /** @description The username of the authorized user */ username: string; /** @description The email of the authorized user */ email: string; /** @description The role of the user */ role: string; }; MeCompany: { /** @description The ID of the company object, which will look like biz_************* */ id: string; /** @description The date the company was created as a unix timestamp. */ created_at: number; /** @description The title of the company */ title: string; /** @description The URL of the company's image */ image_url?: string; authorized_user?: components["schemas"]["MeAuthorizedUser"]; /** @description The route to the company's first/default page */ route?: string; }; MeExperience: { /** @description The ID of the experience, which will look like exp_************* */ id: string; /** @description The date the experience was created as a unix timestamp. */ created_at: number; /** @description The name of the experience */ name: string; /** @description The ID of the company, which will look like biz_************* */ company_id: string; product_ids: string[]; /** @description The ID of the app that created the experience, which will look like app_************* */ app_id: string; /** @description The URL of the app's icon */ app_icon_url?: string; /** * @description The access level of the experience * @enum {string} */ access_level?: "public" | "private"; }; MeLineItem: { /** @description The ID of the line item, which will look like li_************* */ id: string; /** @description The amount (price) for the line item. */ amount: number; /** * @description A three letter currency code for the line item. * @enum {string} */ base_currency: "usd" | "sgd" | "inr" | "aud" | "brl" | "cad" | "dkk" | "eur" | "nok" | "gbp" | "sek" | "chf" | "hkd" | "huf" | "jpy" | "mxn" | "myr" | "pln" | "czk" | "nzd" | "aed" | "cop" | "ron" | "thb"; /** @description A textual description for the line item. */ description?: string; /** @description Whether or not the line item can be purchased as multiple quantity. */ allow_multiple_quantity: boolean; /** @description A JSON object containing any additional metadata for the line item. */ metadata?: Record; /** @description The name of the line item. */ name: string; /** @description The date the line item was created as a unix timestamp. */ created_at: number; }; MeSocialAccount: { /** * @description The type of social account that it is. * @enum {string} */ service: "discord" | "twitter"; /** @description The username of the social account */ username?: string; /** @description Whether or not this is the default social account for the user's account for the provider. */ default: boolean; /** @description The ID of the social account from the provider, like a discord ID or twitter ID. */ account_id: string; /** @description A URL for the image of the social account. */ image_url?: string; }; MeReview: { /** @description The ID of the review, which will look like rev_************* */ id: string; /** @description The ID of the company, which will look like biz_************* */ company_id: string; /** @description The ID of the user, which will look like user_************* */ user_id: string; /** @description The ID of the product, which will look like prod_************* */ product_id: string; /** * @description The status of the review * @enum {string} */ status: "pending" | "published" | "removed"; /** @description The rating of the review. It will be an integer between one and five. */ stars: number; /** @description The text response the user left for the review. */ description?: string; /** @description The date the customer first joined the creator's whop as a unix timestamp. */ joined_at?: number; /** @description The date the review was created as a unix timestamp. */ created_at: number; }; MeMembership: { /** @description The ID of the membership, which will look like mem_************* */ id: string; /** @description The ID of the product, which will look like prod_************* */ product_id: string; /** @description The ID of the user, which will look like user_************* */ user_id?: string; /** @description The ID of the plan, which will look like plan_************* */ plan_id: string; /** @description The ID of the page, which will look like page_************* */ page_id: string; /** @description The time at which the Membership was created. Measured in seconds since the Unix epoch. */ created_at: number; /** @description The time of when the Membership is set to go expired */ expires_at?: number; /** @description The UTC timestamp of when the Membership will begin */ renewal_period_start?: number; /** @description The UTC timestamp of when the Membership will end */ renewal_period_end?: number; /** @description The quantity purchased */ quantity: number; /** * @description The status of the membership * @enum {string} */ status: "trialing" | "active" | "past_due" | "completed" | "canceled" | "expired" | "unresolved"; /** @description Whether or not the membership is valid */ valid: boolean; /** @description Whether or not this membership is scheduled to cancel at the end of the renewal period. */ cancel_at_period_end?: boolean; /** @description The license key for the membership */ license_key?: string; /** @description The metadata for the membership */ metadata?: Record; /** @description The ID of the checkout used to first purchase / generate the membership. */ checkout_id?: string; /** @description The username of the affiliate that referred the customer to this membership, if any. */ affiliate_username?: string; /** @description The URL for the customer to manage their membership on whop.com. */ manage_url: string; /** @description The ID of the company that purchased/owns the membership. (For example, they installed an app). Looks like biz_************* */ company_buyer_id?: string; /** @description Whether or not the membership was purchased through the whop marketplace. */ marketplace?: boolean; }; MePayment: { /** @description The ID of the payment, which will look like pay_************* */ id: string; /** @description The ID of the membership, which will look like mem_************* */ membership_id?: string; /** @description The ID of the product, which will look like prod_************* */ product_id?: string; /** @description The ID of the user, which will look like user_************* */ user_id?: string; /** @description The ID of the plan, which will look like plan_************* */ plan_id?: string; /** @description The ID of the company, which will look like biz_************* */ company_id: string; /** @description The line item this receipt was purchased with. This is for in-app purchases. */ line_item_id?: string; /** @description The time at which the Payment was created. Measured in seconds since the Unix epoch. Does not necessarily reflect the time the Payment was successful. */ created_at: number; /** @description The time at which the Payment was successful. Measured in seconds since the Unix epoch. */ paid_at?: number; /** @description The time at which the Payment was refunded. Measured in seconds since the Unix epoch. */ refunded_at?: number; /** @description The UTC timestamp of the last time the Payment was attempted */ last_payment_attempt?: number; /** @description The UTC timestamp of the next time the Payment will be attempted */ next_payment_attempt?: number; /** * @description The status of the payment * @enum {string} */ status: "paid" | "open" | "void" | "draft" | "uncollectible"; /** @description The amount paid by the User, before any discounts or taxes */ subtotal: number; /** @description The total amount paid by the User, including any discounts or taxes */ final_amount: number; /** * @description The three letter currency the Payment was made in * @enum {string} */ currency: "usd" | "sgd" | "inr" | "aud" | "brl" | "cad" | "dkk" | "eur" | "nok" | "gbp" | "sek" | "chf" | "hkd" | "huf" | "jpy" | "mxn" | "myr" | "pln" | "czk" | "nzd" | "aed" | "cop" | "ron" | "thb" | "eth"; /** @description The amount that was refunded to the User (if applicable) */ refunded_amount?: number; /** @description The number of times the Payment has failed */ payments_failed: number; /** @description The ID of the checkout used to execute this payment, if applicable. */ checkout_id?: string; /** @description If the payment was made with a credit/debit card, the brand of the card. */ card_brand?: string; /** @description The last 4 digits of the debit/credit card used to make the payment, if applicable. */ card_last_4?: string; /** * @description The funding method of the payment, if applicable. * @enum {string} */ funding_method?: "credit" | "debit" | "prepaid" | "unknown"; /** * @description The wallet type of the payment, if applicable. * @enum {string} */ wallet_type?: "apple_pay" | "google_pay" | "paypal" | "venmo"; /** @description The statement descriptor that appears on the customer's bank statement for the payment, if applicable. */ calculated_statement_descriptor?: string; /** @description The IIN/BIN of the payment, if applicable. */ issuer_identification_number?: string; billing_usage_ids?: string[]; /** @description The ID of the company that made the payment. (For example, they installed an app). Looks like biz_************* */ company_buyer_id?: string; billing_address?: components["schemas"]["BillingAddress"]; /** @description The email of the user that made the payment */ user_email?: string; }; MeUser: { /** @description The ID of the user, which will look like user_************* */ id: string; /** @description The first and last name of the user. */ name?: string; /** @description The username of the user */ username: string; /** @description The email of the user */ email?: string; /** @description The URL of the user's profile picture */ profile_pic_url?: string; }; UserAffiliate: { /** @description The ID of the affiliate, which will look like user_************* */ id?: string; /** @description The username of the affiliate */ username?: string; /** @description The email of the affiliate */ email?: string; }; BillingAddress: { /** @description The first and last name of the person */ name?: string; /** @description The first line of the address */ line1?: string; /** @description The second line of the address */ line2?: string; /** @description The city of the address */ city?: string; /** @description The state of the address */ state?: string; /** @description The postal code of the address */ postal_code?: string; /** @description The country of the address */ country?: string; }; }; responses: { /** @description Resource not found */ NotFound: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Forbidden */ Forbidden: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Unauthorized */ Unauthorized: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description Invalid Parameters */ InvalidParameters: { content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; }; parameters: never; requestBodies: never; headers: never; pathItems: never; } export type $defs = Record; export type external = Record; export interface operations { /** * Create a document * @description Create a document */ post_api_v5_app_search_document: { requestBody: { content: { "application/json": components["schemas"]["SearchDocumentCreateBody"]; }; }; responses: { /** @description A successful response */ 201: { content: never; }; }; }; /** @description Deletes a document */ delete_api_v5_app_search_document_id: { parameters: { path: { id: string; }; }; responses: { /** @description A successful response */ 204: { content: never; }; }; }; /** Update a document */ update_api_v5_app_search_document_id: { parameters: { path: { id: string; }; }; requestBody: { content: { "application/json": components["schemas"]["SearchDocumentUpdateBody"]; }; }; responses: { /** @description A successful response */ 200: { content: never; }; }; }; /** * Create an OAuth Token * @description Exchange a code for a token */ post_api_v5_oauth_token: { requestBody: { content: { "application/json": components["schemas"]["OauthTokenCreateBody"]; }; }; responses: { /** @description A successful response */ 201: { content: { "application/json": components["schemas"]["OauthToken"]; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Retrieve the current app * @description Returns an App */ get_api_v5_app: { responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["AppApp"]; }; }; 403: components["responses"]["Forbidden"]; }; }; /** * List App Connections * @description Returns a collection of app connections */ get_api_v5_app_app_connections: { parameters: { query?: { /** @description An ID of a company to filter by, which will look like biz_************* */ company_id?: string; /** @description An ID of an object to filter by, which will look like prod_************* */ resource_id?: string; /** @description The type of resource to filter by, ex 'product'. */ resource_type?: "product"; /** @description The page number to retrieve */ page?: number; /** @description The number of resources to return per page. There is a limit of 50 results per page. */ per?: number; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": { pagination: components["schemas"]["Pagination"]; data: components["schemas"]["AppAppConnection"][]; }; }; }; }; }; /** * Create an App Connection * @description Create an app connection for an object */ post_api_v5_app_app_connections: { requestBody: { content: { "application/json": components["schemas"]["AppAppConnectionCreateBody"]; }; }; responses: { /** @description A successful response */ 201: { content: { "application/json": components["schemas"]["AppAppConnection"]; }; }; }; }; /** * Create a Feed Content Item * @description Create a Feed Content Item */ post_api_v5_app_feed_content_items: { requestBody: { content: { "application/json": components["schemas"]["AppFeedContentItemCreateBody"]; }; }; responses: { /** @description A successful response */ 201: { content: { "application/json": components["schemas"]["AppFeedContentItemCreateResponse"]; }; }; }; }; /** * Delete a Feed Content Item * @description Deletes a Feed Content Item */ delete_api_v5_app_feed_content_item: { parameters: { path: { /** @description The external ID of the feed content item */ external_id: string; }; }; responses: { /** @description A successful response */ 204: { content: never; }; }; }; /** * Create a last activity * @description Create a last activity cache and update this experience's last activity timestamp */ post_api_v5_app_last_activity: { requestBody: { content: { "application/json": components["schemas"]["AppLastActivityCreateBody"]; }; }; responses: { /** @description A successful response */ 204: { content: never; }; }; }; /** * Create an Activity Feed Item * @description Create an activity feed object (aka a post) */ post_api_v5_app_activity_feed_items: { requestBody: { content: { "application/json": components["schemas"]["AppActivityFeedItemCreateBody"]; }; }; responses: { /** @description A successful response */ 201: { content: { "application/json": components["schemas"]["AppActivityFeedItem"]; }; }; }; }; /** * Delete an Activity Feed Item * @description Deletes an Activity Feed Item */ delete_api_v5_app_activity_feed_item: { parameters: { path: { /** @description The external ID of the activity feed item */ external_id: string; }; }; responses: { /** @description A successful response */ 204: { content: never; }; }; }; /** Update an Activity Feed Item */ update_api_v5_app_activity_feed_item: { parameters: { path: { /** @description The external ID of the activity feed item */ external_id: string; }; }; requestBody: { content: { "application/json": components["schemas"]["AppActivityFeedItemUpdateBody"]; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["AppActivityFeedItem"]; }; }; }; }; /** * Retrieve an app connection * @description Returns an app connection */ get_api_v5_app_app_connections_id: { parameters: { path: { /** @description The ID of the app connection, which will look like apco_************* */ id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["AppAppConnection"]; }; }; }; }; /** * Delete an App Connection * @description Deletes an App Connection */ delete_api_v5_app_app_connections_id: { parameters: { path: { /** @description The ID of the app connection, which will look like apco_************* */ id: string; }; }; responses: { /** @description A successful response */ 204: { content: never; }; }; }; /** * List Companies * @description Returns a collection of companies */ get_api_v5_app_companies: { parameters: { query?: { /** @description The page number to retrieve */ page?: number; /** @description The number of resources to return per page. There is a limit of 50 results per page. */ per?: number; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": { pagination: components["schemas"]["Pagination"]; data: components["schemas"]["AppCompany"][]; }; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Retrieve a Company * @description Returns a company */ get_api_v5_app_companies_id: { parameters: { path: { /** @description The ID of the Company, which will look like biz_************* */ id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["AppCompany"]; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * List Experiences * @description Returns a collection of experiences */ get_api_v5_app_experiences: { parameters: { query?: { /** @description An ID of a company to filter by, which will look like biz_************* */ company_id?: string; /** @description An ID of a product to filter by, which will look like prod_************* */ product_id?: string; /** @description The page number to retrieve */ page?: number; /** @description The number of resources to return per page. There is a limit of 50 results per page. */ per?: number; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": { pagination: components["schemas"]["Pagination"]; data: components["schemas"]["AppExperience"][]; }; }; }; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Retrieve an Experience * @description Returns an experience */ get_api_v5_app_experiences_id: { parameters: { path: { /** @description The ID of the Experience, which will look like exp_************* */ id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["AppExperience"]; }; }; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Update an Experience * @description Updates an experience */ patch_api_v5_app_experiences_id: { parameters: { path: { /** @description The ID of the Experience, which will look like exp_************* */ id: string; }; }; requestBody: { content: { "application/json": components["schemas"]["AppExperienceUpdateBody"]; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["AppExperience"]; }; }; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * List Inbound Webhooks * @description Returns a collection of inbound webhooks */ get_api_v5_app_inbound_webhooks: { parameters: { query: { /** @description The page number to return */ page?: number; /** @description The number of resources to return per page. There is a limit of 50 results per page. */ per?: number; /** @description The ID of an experience to filter by, which will look like exp_************* */ experience_id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": { pagination: components["schemas"]["Pagination"]; data: components["schemas"]["AppInboundWebhook"][]; }; }; }; }; }; /** * Create a Inbound Webhook * @description Create a Feed Content Item */ post_api_v5_app_inbound_webhooks: { requestBody: { content: { "application/json": components["schemas"]["AppInboundWebhookCreateBody"]; }; }; responses: { /** @description A successful response */ 201: { content: { "application/json": components["schemas"]["AppInboundWebhook"]; }; }; }; }; /** * Retrieve an Experience's Inbound Webhook Filters * @description Returns an inbound webhook filter */ get_api_v5_app_inbound_webhook_filters: { parameters: { path: { /** @description The ID of the experience, which will look like exp_************ */ experience_id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["AppInboundWebhookFilter"]; }; }; }; }; /** * Creates or updates a Inbound Webhook Filter for a given experience * @description Create an Inbound Webhook Filter */ post_api_v5_app_inbound_webhook_filters: { requestBody: { content: { "application/json": components["schemas"]["AppInboundWebhookFilterCreateBody"]; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": Record; }; }; }; }; /** * List Line Items * @description Returns a collection of line items */ get_api_v5_app_line_items: { parameters: { query?: { /** @description The page number to retrieve */ page?: number; /** @description The number of resources to return per page. There is a limit of 50 results per page. */ per?: number; /** @description An ID of a company to filter by, which will look like biz_************* */ company_id?: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": { pagination: components["schemas"]["Pagination"]; data: components["schemas"]["AppLineItem"][]; }; }; }; }; }; /** * Create a Line Item * @description Create a line item for a company */ post_api_v5_app_line_items: { requestBody: { content: { "application/json": components["schemas"]["AppLineItemCreateBody"]; }; }; responses: { /** @description A successful response */ 201: { content: { "application/json": components["schemas"]["AppLineItem"]; }; }; }; }; /** * Retrieve a Line Item * @description Returns a line item */ get_api_v5_app_line_items_id: { parameters: { path: { /** @description The ID of the line item, which will look like li_************* */ id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["AppLineItem"]; }; }; }; }; /** * Delete a Line Item * @description Deletes a line item */ delete_api_v5_app_line_items_id: { parameters: { path: { /** @description The ID of the line item, which will look like li_************* */ id: string; }; }; responses: { /** @description A successful response */ 204: { content: never; }; }; }; /** * Update a Line Item * @description Updates a line item's metadata field */ update_api_v5_app_line_items_id: { parameters: { path: { /** @description The ID of the line item, which will look like li_************* */ id: string; }; }; requestBody: { content: { "application/json": components["schemas"]["AppLineItemUpdateBody"]; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["AppLineItem"]; }; }; }; }; /** * List Notification Topics * @description Returns a collection of notification topics */ get_api_v5_app_notification_topics: { parameters: { query?: { /** @description The page number to retrieve */ page?: number; /** @description The number of resources to return per page. There is a limit of 50 results per page. */ per?: number; /** @description A status to filter by. */ status?: "active" | "inactive"; /** @description A topic type to filter by. */ topic_type?: "company" | "user"; /** @description An array of notification channel identifiers to filter by. */ notification_channel_identifiers?: ("email" | "sms" | "in_app" | "discord_dm" | "mobile")[]; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": { pagination: components["schemas"]["Pagination"]; data: components["schemas"]["AppNotificationTopic"][]; }; }; }; }; }; /** * Create a Notification Topic * @description Create a notification topic for a company */ post_api_v5_app_notification_topics: { requestBody: { content: { "application/json": components["schemas"]["AppNotificationTopicCreateBody"]; }; }; responses: { /** @description A successful response */ 201: { content: { "application/json": components["schemas"]["AppNotificationTopic"]; }; }; }; }; /** * Retrieve a Notification Topic * @description Returns a notification topic */ get_api_v5_app_notification_topics_id: { parameters: { path: { /** @description The topic_identifier of the notification topic, which will be a string. */ id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["AppNotificationTopic"]; }; }; }; }; /** * Update a Notification Topic * @description Updates a notification topic */ update_api_v5_app_notification_topics_id: { parameters: { path: { /** @description The topic_identifier of the notification topic, which will be a string. */ id: string; }; }; requestBody: { content: { "application/json": components["schemas"]["AppNotificationTopicUpdateBody"]; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["AppNotificationTopic"]; }; }; }; }; /** * List Members * @description Returns a collection of members */ get_api_v5_app_members: { parameters: { query?: { /** @description An ID of a company to filter by, which will look like biz_************* */ company_id?: string; /** @description An ID of a user to filter by, which will look like user_************* */ user_id?: string; /** @description A status to filter by. */ status?: "joined" | "left"; /** @description An ID of an experience to filter by, which will look like exp_*************. If private, the member must have a valid membership on a product that grants them access to the experience. If public, the user must be a member of the company. */ experience_id?: string; /** @description A search to filter by. This will search the member's name and username. */ search?: string; /** @description The page number to retrieve */ page?: number; /** @description The number of resources to return per page. There is a limit of 50 results per page. */ per?: number; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": { pagination: components["schemas"]["Pagination"]; data: components["schemas"]["AppMember"][]; }; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Retrieve a Member * @description Returns a member */ get_api_v5_app_members_id: { parameters: { path: { /** @description The ID of the Member, which will look like mber_*************. */ id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["AppMember"]; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * List Authorized Users * @description Returns a collection of Authorized Users */ get_api_v5_app_authorized_users: { parameters: { query?: { /** @description An ID of a company to filter by, which will look like biz_************* */ company_id?: string; /** @description An ID of a user to filter by, which will look like user_************* */ user_id?: string; /** @description A role to filter by. */ role?: "owner" | "admin" | "moderator" | "app_manager" | "sales_manager"; /** @description A search to filter by. This will search the authorized users' name and username. */ search?: string; /** @description The page number to retrieve */ page?: number; /** @description The number of resources to return per page. There is a limit of 50 results per page. */ per?: number; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": { pagination: components["schemas"]["Pagination"]; data: components["schemas"]["AppAuthorizedUser"][]; }; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Retrieve an Authorized User * @description Returns an Authorized User */ get_api_v5_app_authorized_users_id: { parameters: { path: { /** @description The ID of the AuthorizedUser, which will look like ausr_*************. */ id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["AppAuthorizedUser"]; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * List Reviews * @description Returns a collection of reviews */ get_api_v5_app_reviews: { parameters: { query?: { /** @description An ID of a company to filter by, which will look like biz_************* */ company_id?: string; /** @description An ID of a product to filter by, which will look like prod_************* */ product_id?: string; /** @description An ID of a user to filter by, which will look like user_************* */ user_id?: string; /** @description The number of stars to filter by. Ex. 1, 2, 3, 4, or 5. */ stars?: number; /** @description A status to filter by. */ status?: "pending" | "published" | "removed"; /** @description The page number to retrieve */ page?: number; /** @description The number of resources to return per page. There is a limit of 50 results per page. */ per?: number; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": { pagination: components["schemas"]["Pagination"]; data: components["schemas"]["AppReview"][]; }; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Retrieve a Review * @description Returns a review */ get_api_v5_app_reviews_id: { parameters: { path: { /** @description The ID of the Review, which will look like rev_*************. */ id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["AppReview"]; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * List Memberships * @description Returns a collection of memberships. By default, the valid filter is set to true. */ get_api_v5_app_memberships: { parameters: { query?: { /** @description An ID of a company to filter by, which will look like biz_************* */ company_id?: string; /** @description An ID of a product to filter by, which will look like prod_************* */ product_id?: string; /** @description An ID of a user to filter by, which will look like user_************* */ user_id?: string; /** @description An ID of an experience to filter by, which will look like exp_************* */ experience_id?: string; /** @description A license key to filter by. */ license_key?: string; /** @description An array of statuses to filter by. */ statuses?: ("active" | "trialing" | "past_due" | "completed" | "canceled" | "expired" | "unresolved")[]; /** @description A boolean to filter by valid memberships */ valid?: boolean; /** @description The page number to retrieve */ page?: number; /** @description The number of resources to return per page. There is a limit of 50 results per page. */ per?: number; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": { pagination: components["schemas"]["Pagination"]; data: components["schemas"]["AppMembership"][]; }; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Retrieve a Membership * @description Returns a membership */ get_api_v5_app_memberships_id: { parameters: { path: { /** @description The ID of the Membership, which will look like mem_*************. This can also be the license key */ id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["AppMembership"]; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Add Free Days to Membership * @description Adds free days to a membership */ post_api_v5_app_memberships_id_add_free_days: { parameters: { path: { /** @description The ID of the Membership, which will look like mem_*************. This can also be the license key */ id: string; }; }; requestBody: { content: { "application/json": components["schemas"]["AppMembershipAddFreeDaysBody"]; }; }; responses: { /** @description A successful response with no content */ 200: { content: { "application/json": Record; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Create a Notification Request * @description Send a notification to a set of targets */ post_api_v5_app_notifications_requests: { requestBody: { content: { "application/json": components["schemas"]["NotificationRequestBody"]; }; }; responses: { /** @description A successful response */ 201: { content: { "application/json": components["schemas"]["NotificationRequestResponse"]; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; }; }; /** * Create a Notification Request * @description Send a notification to a set of targets */ post_api_v5_app_notification_requests: { requestBody: { content: { "application/json": components["schemas"]["NotificationRequestBody2"]; }; }; responses: { /** @description A successful response */ 201: { content: { "application/json": components["schemas"]["NotificationRequestResponse"]; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; }; }; /** * List Payments * @description Returns a collection of payments */ get_api_v5_app_payments: { parameters: { query?: { /** @description An ID of a company to filter by, which will look like biz_************* */ company_id?: string; /** @description An ID of a product to filter by, which will look like prod_************* */ product_id?: string; /** @description A boolean of whether or not to return only payments made with a line item created by the app. If false, returns all payments without a line item. */ in_app_payments?: boolean; /** @description The page number to retrieve */ page?: number; /** @description The number of resources to return per page. There is a limit of 50 results per page. */ per?: number; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": { pagination: components["schemas"]["Pagination"]; data: components["schemas"]["AppPayment"][]; }; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Retrieve a Payment * @description Returns a payment */ get_api_v5_app_payments_id: { parameters: { path: { /** @description The ID of the Payment, which will look like pay_************* */ id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["AppPayment"]; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * List Products * @description Returns a collection of products */ get_api_v5_app_products: { parameters: { query?: { /** @description An ID of a company to filter by, which will look like biz_************* */ company_id?: string; /** @description An ID of an experience to filter by, which will look like exp_************* */ experience_id?: string; /** @description The page number to retrieve */ page?: number; /** @description The number of resources to return per page. There is a limit of 50 results per page. */ per?: number; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": { pagination: components["schemas"]["Pagination"]; data: components["schemas"]["AppProduct"][]; }; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Retrieve a Product * @description Returns a product */ get_api_v5_app_products_id: { parameters: { path: { /** @description The ID of the Product, which will look like prod_************* */ id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["AppProduct"]; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * List all User * @description Returns a user */ list_api_v5_app_users: { parameters: { query: { /** @description A list of user IDs */ user_ids: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["AppUser"][]; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Retrieve a User * @description Returns a user */ get_api_v5_app_users_id: { parameters: { path: { /** @description The ID of the User, which will look like user_************* */ id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["AppUser"]; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * List a User's social accounts * @description Returns a User's social accounts */ get_api_v5_app_users_id_social_accounts: { parameters: { path: { /** @description The ID of the User, which will look like user_************* */ user_id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["AppSocialAccount"][]; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Retrieve a User * @description Returns a user */ get_api_v5_company_users_id: { parameters: { path: { /** @description The ID of the User, which will look like user_************* */ id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["CompanyUser"]; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * List a User's social accounts * @description Returns a User's social accounts */ get_api_v5_company_users_id_social_accounts: { parameters: { path: { /** @description The ID of the User, which will look like user_************* */ user_id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["CompanySocialAccount"][]; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * List Reviews * @description Returns a collection of reviews */ get_api_v5_company_reviews: { parameters: { query?: { /** @description An ID of a product to filter by, which will look like prod_************* */ product_id?: string; /** @description An ID of a user to filter by, which will look like user_************* */ user_id?: string; /** @description The number of stars to filter by. Ex. 1, 2, 3, 4, or 5. */ stars?: number; /** @description A status to filter by. */ status?: "pending" | "published" | "removed"; /** @description The page number to retrieve */ page?: number; /** @description The number of resources to return per page. There is a limit of 50 results per page. */ per?: number; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": { pagination: components["schemas"]["Pagination"]; data: components["schemas"]["CompanyReview"][]; }; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Retrieve a Review * @description Returns a review */ get_api_v5_company_reviews_id: { parameters: { path: { /** @description The ID of the Review, which will look like rev_*************. */ id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["CompanyReview"]; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * List Memberships * @description Returns a collection of memberships. By default, the valid filter is set to true. */ get_api_v5_company_memberships: { parameters: { query?: { /** @description An array of statuses to filter by. */ statuses?: ("active" | "trialing" | "past_due" | "completed" | "canceled" | "expired" | "unresolved")[]; /** @description A boolean to filter by valid memberships */ valid?: boolean; /** @description An ID of a product to filter by, which will look like prod_************* */ product_id?: string; /** @description A license key to filter by. */ license_key?: string; /** @description The page number to retrieve */ page?: number; /** @description The number of resources to return per page. There is a limit of 50 results per page. */ per?: number; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": { pagination: components["schemas"]["Pagination"]; data: components["schemas"]["CompanyMembership"][]; }; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Retrieve a Membership * @description Returns a membership */ get_api_v5_company_memberships_id: { parameters: { path: { /** @description The ID of the Membership, which will look like mem_*************. This can also be the license key */ id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["CompanyMembership"]; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Terminate a Membership * @description Terminates the membership. No further payments will be made, and the customer will lose access. A terminated membership cannot be reactivated. */ delete_api_v5_company_memberships_id: { parameters: { path: { /** @description The ID of the Membership, which will look like mem_************* */ id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["CompanyMembership"]; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Update a Membership * @description Updates a membership's metadata */ update_api_v5_company_memberships_id: { parameters: { path: { /** @description The ID of the Membership, which will look like mem_*************. This can also be the license key */ id: string; }; }; requestBody: { content: { "application/json": components["schemas"]["CompanyMembershipUpdateBody"]; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["CompanyMembership"]; }; }; }; }; /** * List Payments * @description Returns a collection of payments */ get_api_v5_company_payments: { parameters: { query?: { /** @description An ID of a product to filter by, which will look like prod_************* */ product_id?: string; /** @description The page number to retrieve */ page?: number; /** @description The number of resources to return per page. There is a limit of 50 results per page. */ per?: number; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": { pagination: components["schemas"]["Pagination"]; data: components["schemas"]["CompanyPayment"][]; }; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Retrieve a Payment * @description Returns a payment */ get_api_v5_company_payments_id: { parameters: { path: { /** @description The ID of the Payment, which will look like pay_************* */ id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["CompanyPayment"]; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * List Products * @description Returns a collection of products */ get_api_v5_company_products: { parameters: { query?: { /** @description The page number to retrieve */ page?: number; /** @description The number of resources to return per page. There is a limit of 50 results per page. */ per?: number; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": { pagination: components["schemas"]["Pagination"]; data: components["schemas"]["CompanyProduct"][]; }; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Retrieve a Product * @description Returns a product */ get_api_v5_company_products_id: { parameters: { path: { /** @description The ID of the Product, which will look like prod_************* */ id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["CompanyProduct"]; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Retrieve the current company * @description Returns a company */ get_api_v5_company: { responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["CompanyCompany"]; }; }; 403: components["responses"]["Forbidden"]; }; }; /** * List Experiences * @description Returns a collection of experiences */ get_api_v5_me_experiences: { parameters: { query?: { /** @description An ID of a company to filter by, which will look like biz_************* */ company_id?: string; /** @description An ID of a product to filter by, which will look like prod_************* */ product_id?: string; /** @description The page number to retrieve */ page?: number; /** @description The number of resources to return per page. There is a limit of 50 results per page. */ per?: number; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": { pagination: components["schemas"]["Pagination"]; data: components["schemas"]["MeExperience"][]; }; }; }; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Retrieve an Experience * @description Returns an experience */ get_api_v5_me_experiences_id: { parameters: { path: { /** @description The ID of the Experience, which will look like exp_************* */ id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["MeExperience"]; }; }; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Retrieve the current user * @description Returns a user */ get_api_v5_me: { responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["MeUser"]; }; }; 403: components["responses"]["Forbidden"]; }; }; /** * List a User's social accounts * @description Returns a User's social accounts */ get_api_v5_me_social_accounts: { responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["MeSocialAccount"][]; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * List Reviews * @description Returns a collection of reviews */ get_api_v5_me_reviews: { parameters: { query?: { /** @description An ID of a company to filter by, which will look like biz_************* */ company_id?: string; /** @description An ID of a product to filter by, which will look like prod_************* */ product_id?: string; /** @description The number of stars to filter by. Ex. 1, 2, 3, 4, or 5. */ stars?: number; /** @description A status to filter by. */ status?: "pending" | "published" | "removed"; /** @description The page number to retrieve */ page?: number; /** @description The number of resources to return per page. There is a limit of 50 results per page. */ per?: number; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": { pagination: components["schemas"]["Pagination"]; data: components["schemas"]["MeReview"][]; }; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Retrieve a Review * @description Returns a review */ get_api_v5_me_reviews_id: { parameters: { path: { /** @description The ID of the Review, which will look like rev_*************. */ id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["MeReview"]; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * List Memberships * @description Returns a collection of memberships. By default, the valid filter is set to true. */ get_api_v5_me_memberships: { parameters: { query?: { /** @description An ID of a company to filter by, which will look like biz_************* */ company_id?: string; /** @description An array of statuses to filter by. */ statuses?: ("active" | "trialing" | "past_due" | "completed" | "canceled" | "expired" | "unresolved")[]; /** @description A boolean to filter by valid memberships */ valid?: boolean; /** @description An ID of a product to filter by, which will look like prod_************* */ product_id?: string; /** @description A license key to filter by. */ license_key?: string; /** @description The page number to retrieve */ page?: number; /** @description The number of resources to return per page. There is a limit of 50 results per page. */ per?: number; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": { pagination: components["schemas"]["Pagination"]; data: components["schemas"]["MeMembership"][]; }; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Retrieve a Membership * @description Returns a membership */ get_api_v5_me_memberships_id: { parameters: { path: { /** @description The ID of the Membership, which will look like mem_*************. This can also be the license key */ id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["MeMembership"]; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * List Payments * @description Returns a collection of payments */ get_api_v5_me_payments: { parameters: { query?: { /** @description An ID of a company to filter by, which will look like biz_************* */ company_id?: string; /** @description An ID of a product to filter by, which will look like prod_************* */ product_id?: string; /** @description An ID of a line item to filter by, which will look like li_************* */ line_item_id?: string; /** @description The page number to retrieve */ page?: number; /** @description The number of resources to return per page. There is a limit of 50 results per page. */ per?: number; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": { pagination: components["schemas"]["Pagination"]; data: components["schemas"]["MePayment"][]; }; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Retrieve a Payment * @description Returns a payment */ get_api_v5_me_payments_id: { parameters: { path: { /** @description The ID of the Payment, which will look like pay_************* */ id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["MePayment"]; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * List Products * @description Returns a collection of products */ get_api_v5_me_products: { parameters: { query?: { /** @description An ID of a company to filter by, which will look like biz_************* */ company_id?: string; /** @description The page number to retrieve */ page?: number; /** @description The number of resources to return per page. There is a limit of 50 results per page. */ per?: number; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": { pagination: components["schemas"]["Pagination"]; data: components["schemas"]["MeProduct"][]; }; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Retrieve a Product * @description Returns a product */ get_api_v5_me_products_id: { parameters: { path: { /** @description The ID of the Product, which will look like prod_************* */ id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["MeProduct"]; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** * Retrieve a Company * @description Returns a company */ get_api_v5_me_companies_id: { parameters: { path: { /** @description The ID of the Company, which will look like biz_************* */ id: string; }; }; responses: { /** @description A successful response */ 200: { content: { "application/json": components["schemas"]["MeCompany"]; }; }; 400: components["responses"]["InvalidParameters"]; 401: components["responses"]["Unauthorized"]; 403: components["responses"]["Forbidden"]; 404: components["responses"]["NotFound"]; }; }; /** When a membership is purchased and goes valid */ "app-membership-went-valid": { requestBody: { content: { "application/json": { /** * @example app.membership_went_valid * @enum {string} */ action: "app.membership_went_valid"; /** @example biz_123 */ company?: string; data: components["schemas"]["AppMembership"]; }; }; }; }; /** When a membership goes invalid */ "app-membership-went-invalid": { requestBody: { content: { "application/json": { /** * @example app.membership_went_invalid * @enum {string} */ action: "app.membership_went_invalid"; /** @example biz_123 */ company?: string; data: components["schemas"]["AppMembership"]; }; }; }; }; /** When a payment is successful */ "app-payment-succeeded": { requestBody: { content: { "application/json": { /** * @example app.payment_succeeded * @enum {string} */ action: "app.payment_succeeded"; /** @example biz_123 */ company?: string; data: components["schemas"]["AppPayment"]; }; }; }; }; /** When a payment fails */ "app-payment-failed": { requestBody: { content: { "application/json": { /** * @example app.payment_failed * @enum {string} */ action: "app.payment_failed"; /** @example biz_123 */ company?: string; data: components["schemas"]["AppPayment"]; }; }; }; }; /** When a membership is purchased and goes valid */ "membership-went-valid": { requestBody: { content: { "application/json": { /** * @example membership.went_valid * @enum {string} */ action: "membership.went_valid"; data: components["schemas"]["AppMembership"]; }; }; }; }; /** When a membership goes invalid */ "membership-went-invalid": { requestBody: { content: { "application/json": { /** * @example membership.went_invalid * @enum {string} */ action: "membership.went_invalid"; data: components["schemas"]["AppMembership"]; }; }; }; }; /** When a payment is successful */ "payment-succeeded": { requestBody: { content: { "application/json": { /** * @example payment.succeeded * @enum {string} */ action: "payment.succeeded"; data: components["schemas"]["AppPayment"]; }; }; }; }; /** When a payment fails */ "payment-failed": { requestBody: { content: { "application/json": { /** * @example payment.failed * @enum {string} */ action: "payment.failed"; data: components["schemas"]["AppPayment"]; }; }; }; }; } export {}; //# sourceMappingURL=schema.d.ts.map