Skip to main content
Whop is retiring two older APIs. Both move to the Current API at https://api.whop.com/api/v1, with the same API keys.

Switch to the Current API

1

Keep your API key

The Current API uses the same account and app API keys. If a request returns 403, the key is missing the permission that endpoint needs. Add it in Developer → API keys, or request it in your app’s permissions.
2

Install the SDK and pin a version

The official SDKs call the Current API and send the API version they were built against. If you use @whop/api, replace it with @whop/sdk. Its withUser and withCompany helpers have no equivalent: pass the user or account ID on each request instead.
If you call the API without an SDK, send Api-Version-Date on every request. API versions explains pinning.
3

Replace each call

Use the tab for the API you’re leaving, then remove the old base URL or package from your code.

Find your v2 calls

Every v2 response carries three headers:Log responses that include Deprecation to find every v2 call your integration still makes.

Route map

Memberships and licenses

Members and customers

Payments and checkout

Products and plans

Plans are now called variants. Variant IDs keep the plan_ prefix, so stored IDs still work.

Account, experiences, reviews, and webhooks

What changed from v2

Partial updates

v2 updated a resource with POST /resource/{id}. The Current API uses PATCH /resource/{id} and changes only the fields you send.

License keys

v2 validate_license checked a key and bound it to a machine in one call. In the Current API, your server retrieves the membership by license key, checks its status, and writes a hardware ID to metadata the first time someone uses the key. The SaaS guide has the full example.Keep these calls on your server. Your account API key can change every membership in your business, so never ship it inside downloadable software.

Webhooks in the v2 format

Webhooks created through v2 keep sending v2-format payloads. To receive the current format, create a new webhook from the dashboard or with POST /webhooks, move your handler to it, then delete the v2 webhook. Webhooks covers signature checks and event types.

Pagination

v2 paged with page and per and returned pagination.current_page and pagination.total_page. Current API lists return a data array and a page_info object. Pass first to set the page size and after with the previous page_info.end_cursor to get the next page. Stop when page_info.has_next_page is false. The SDKs page for you.

Next steps

API versions

Pin a version so later changes never break your integration.

Webhooks

Verify signatures, handle the current event format, and receive chat messages instead of polling.

Manage memberships

Cancel, pause, extend, and update memberships.

App views

Check member access in experience and dashboard views.