Skip to main content
This function and all other functions in this graphql sdk are deprecated. Please migrate to the new rest api.
This operation is only available on the server.

Required Permissions

  • plan:waitlist:read
  • member:basic:read (optional)
  • plan:basic:read (optional)

Usage

import { whopSdk } from "@/lib/whop-sdk";

const result = await whopSdk.companies.listWaitlistEntries({
	// ID of the company, either the tag (biz_xxx) or the page route (whop-dev)
	companyId: "biz_XXXXXXXX" /* Required! */,

	after: "pageInfo.endCursor",

	before: "pageInfo.startCursor",

	direction: "asc" /* Valid values: asc | desc */,

	first: 10,

	last: 10,

	order: "created_at" /* Valid values: created_at | id */,

	filters: {
		// The access pass IDs to filter the entries by
		accessPassIds: ["xxxxxxxxxxx"],

		// The end date to filter the entries by
		endDate: 1716931200,

		// The plan IDs to filter the entries by
		planIds: ["xxxxxxxxxxx"],

		// The start date to filter the entries by
		startDate: 1716931200,

		// The statuses to filter the entries by
		statuses: [
			"any" /* Valid values: any | approved | denied | drafted | pending */,
		],
	},
});

Example output

const result = {
	// The waitlist entries for the company
	entries: {
		// The total number of items in this connection.
		totalCount: 10,

		// Information to aid in pagination.
		pageInfo: {
			// When paginating forwards, the cursor to continue.
			endCursor: "some string",

			// When paginating forwards, are there more items?
			hasNextPage: true,

			// When paginating backwards, are there more items?
			hasPreviousPage: true,

			// When paginating backwards, the cursor to continue.
			startCursor: "some string",
		},

		// A list of nodes.
		nodes: [
			{
				// The internal ID of the entry.
				id: "xxxxxxxxxxx",

				// The name of waitlist.
				name: "some string",

				// The status of the entry
				status:
					"any" /* Valid values: any | approved | denied | drafted | pending */,

				// When the entry was created.
				createdAt: 1716931200,

				// The timestamp (in milliseconds since epoch) of when the object was last updated
				updatedAtMs: "9999999",

				// The user who created the entry.
				user: {
					// The internal ID of the user.
					id: "xxxxxxxxxxx",

					// The name of the user from their Whop account.
					name: "some string",

					// The username of the user from their Whop account.
					username: "some string",

					// The user's profile picture
					profilePicture: {
						// The original URL of the attachment, such as a direct link to S3. This should
						// never be displayed on the client and always passed to an Imgproxy transformer.
						sourceUrl: "some string",
					},
				},

				// The plan the entry is connected to.
				plan: {
					// The internal ID of the plan.
					id: "xxxxxxxxxxx",

					// The title of the plan. This will be visible on the product page to customers.
					title: "some string",
				},

				// The product tied to this entry, if there is one.
				accessPass: {
					// The internal ID of the public product.
					id: "xxxxxxxxxxx",

					// The title of the product. Use for Whop 4.0.
					title: "some string",
				},

				// Responses collected from the user when submitting their entry.
				customFieldResponses: [
					{
						// The ID of the custom field item
						id: "xxxxxxxxxxx",

						// The question asked by the custom field
						question: "some string",

						// The response a user gave to the specific question or field.
						answer: "some string",
					},
				],

				// The member the entry is connected to.
				member: {
					// The internal ID of the user account for the member.
					id: "xxxxxxxxxxx",

					// The digital mailing address of the member.
					email: "some string",
				},
			},
		],
	},
};