This operation is only available on the server.
import { whopSdk } from "@/lib/whop-sdk";

const result = await whopSdk.webhooks.createWebhook({
	// The API version for this webhook
	apiVersion: "v2" /* Valid values: v2 | v5 */,

	// Whether or not the webhook is enabled.
	enabled: true,

	// The events to send the webhook for.
	events: [
		"app_membership_cancel_at_period_end_changed" /* Valid values: app_membership_cancel_at_period_end_changed | app_membership_went_invalid | app_membership_went_valid | app_payment_failed | app_payment_pending | app_payment_succeeded | dispute_alert_created | dispute_created | dispute_updated | membership_cancel_at_period_end_changed | membership_experience_claimed | membership_metadata_updated | membership_went_invalid | membership_went_valid | payment_affiliate_reward_created | payment_failed | payment_pending | payment_succeeded | refund_created | refund_updated | resolution_created | resolution_decided | resolution_updated */,
	],

	// The resource to create the webhook for. By default this will use current company
	resourceId: "xxxxxxxxxxx",

	// The URL to send the webhook to.
	url: "some string" /* Required! */,
});

Example output:
const response = {
	// The ID of the webhook
	id: "xxxxxxxxxxx",

	// The URL the webhook events will be sent to
	url: "some string",

	// The API version for this webhook
	apiVersion: "v2" /* Valid values: v2 | v5 */,

	// The timestamp of when the webhook was created
	createdAt: 1716931200,

	// Whether or not this webhook is turned on or not
	enabled: true,

	// The number of events this webhooks is configured to receive
	events: [
		"app_membership_cancel_at_period_end_changed" /* Valid values: app_membership_cancel_at_period_end_changed | app_membership_went_invalid | app_membership_went_valid | app_payment_failed | app_payment_pending | app_payment_succeeded | dispute_alert_created | dispute_created | dispute_updated | membership_cancel_at_period_end_changed | membership_experience_claimed | membership_metadata_updated | membership_went_invalid | membership_went_valid | payment_affiliate_reward_created | payment_failed | payment_pending | payment_succeeded | refund_created | refund_updated | resolution_created | resolution_decided | resolution_updated */,
	],

	// The resource ID
	resourceId: "xxxxxxxxxxx",

	// A unique secret key that will be sent with each webhook event
	webhookSecret: "some string",
};