# Whop Docs: For Developers API Reference Current API Core Resources

> Whop is on a mission to deliver everyone a sustainable income. Accept payments, pay out users, build apps, and embed chat with SDKs in TypeScript, Python, and Ruby.

## Core Resources

### Accounts

- [Account](https://docs.whop.com/api-reference/beta/accounts/account.md)
- [Business Types and Industries](https://docs.whop.com/api-reference/beta/accounts/business-types.md): The business_type, industry_group, and industry_type values that classify an account.
- [List Accounts](https://docs.whop.com/api-reference/beta/accounts/list-accounts.md): Lists accounts visible to the credential. User tokens return the user's business accounts; Account API keys return the requesting account and its connected accounts. Pass `parent_account_id` to return only that parent account's connected accounts. Includes each account's `cards` application summary…
- [Retrieve Account](https://docs.whop.com/api-reference/beta/accounts/retrieve-account.md): Retrieves a single account by ID or public route when it is visible to the credential, including its crypto wallet. The reserved id `me` retrieves the account associated with the current Account API key; user tokens have no single account, so they must address one by ID or route.
- [Retrieve Account Fees](https://docs.whop.com/api-reference/beta/accounts/retrieve-account-fees.md): Retrieves the account's fees: a singleton document keyed by fee, with any markups its platform adds. Connected accounts see their effective rates, with covered payouts shown as zero; pricing provenance and comparisons are null without parent-account access. `adjustable` on each fee says what the cal…
- [List Financing Applications](https://docs.whop.com/api-reference/beta/financing-applications/list-financing-applications.md): Lists payment-financing applications for the account in the URL. Account credentials can access their own account and direct sub-accounts, excluding deeper descendants. User credentials require the read permission on each account. Filters only narrow this visibility.
- [Retrieve Financing Application](https://docs.whop.com/api-reference/beta/financing-applications/retrieve-financing-application.md): Retrieves a payment-financing application's review state, requirements, saved answers, documents, current terms, and public review feedback. Requires read access to its owning account. Internal review notes and risk metrics are not exposed.
- [Retrieve Account Preferences](https://docs.whop.com/api-reference/beta/accounts/retrieve-account-preferences.md): Retrieves the account's preferences: a singleton settings document keyed by preference name.
- [List Account Reserves](https://docs.whop.com/api-reference/beta/accounts/list-account-reserves.md): Lists what the account's held balance is made of, one entry per currency: the total held, why each part is held, and the days it unlocks.
- [Create Account](https://docs.whop.com/api-reference/beta/accounts/create-account.md): Creates an account. User tokens create business accounts; Account API keys create connected accounts. Tax fields (`tax_remitted_by`, `tax_type`, `product_tax_code_id`, `business_address`, `tax_identifiers`) are configured with Update Account, not at creation.
- [Create Financing Application](https://docs.whop.com/api-reference/beta/financing-applications/create-financing-application.md): Creates an application for merchant payment-financing approval. Requires an existing ledger account. Returns an existing application collecting information or awaiting review; applications awaiting review take precedence. Restricted industries cannot apply. Closed applications allow reapplication. T…
- [Submit Financing Application](https://docs.whop.com/api-reference/beta/financing-applications/submit-financing-application.md): Submits a complete application for financing review. Present the application's terms.content, policies, and disclosure to the merchant and collect affirmative acceptance before calling this endpoint. Pass the terms.version that was presented; stale versions are rejected. The server records acceptanc…
- [Form Company](https://docs.whop.com/api-reference/beta/accounts/form-company.md): Starts an LLC or C-Corp formation for a business account. Defaults to an LLC; set `entity_type` to `c_corp` to form a C-Corp, which additionally requires `share_structure` and officer `roles` on every founder. On submission, the application is validated and the response returns a hosted checkout URL…
- [Retry Failed Ads Payments](https://docs.whop.com/api-reference/beta/accounts/retry-failed-ads-payments.md): Queues one background retry of the account's failed ads payments across its campaigns, using the account's configured ads payment methods. A queued response does not mean payment succeeded. Read campaign delivery_status and issues for the outcome. Successful settlement clears the payment block witho…
- [Suspend a Connected Account](https://docs.whop.com/api-reference/beta/accounts/suspend-a-connected-account.md): Suspends a connected account directly owned by the authenticated platform account. This cannot suspend the platform account itself or an account owned by another platform.
- [Transfer Account Ownership](https://docs.whop.com/api-reference/beta/accounts/transfer-account-ownership.md): Transfers ownership of the account to another user, identified by user ID or email address. If the recipient already holds the owner role, ownership moves immediately; otherwise they get an invite and ownership moves when they accept.
- [Update Account](https://docs.whop.com/api-reference/beta/accounts/update-account.md): Updates an account. User tokens can update business accounts; Account API keys can update connected accounts. The reserved id `me` — accepted on Retrieve Account — resolves to the requesting account, which an Account API key cannot edit, so updates must name the connected account by its `biz_` id.
- [Update Account Fees](https://docs.whop.com/api-reference/beta/accounts/update-account-fees.md): Updates the account's fees. The response shows effective rates and hides pricing provenance and comparisons without parent-account access. Each key present in the body is replaced; omitted keys are left untouched. Only fees the document reports as `adjustable` can be changed.
- [Update Financing Application](https://docs.whop.com/api-reference/beta/financing-applications/update-financing-application.md): Saves merchant answers while the application requires_collection. The entire batch is atomic. Omitted requirements and answer fields are unchanged; empty arrays clear values or documents, and null money clears a price. Only merchant requirement IDs returned by this application are accepted. Upload d…
- [Update Account Preferences](https://docs.whop.com/api-reference/beta/accounts/update-account-preferences.md): Updates the account's preferences. Each top-level key present in the body is replaced as a whole; omitted keys are left untouched.
- [Delete a Connected Account](https://docs.whop.com/api-reference/beta/accounts/delete-a-connected-account.md): Deletes a connected account directly owned by the authenticated platform account. The account must have no settled, pending, or reserved balance in any currency and no active, trialing, or past-due memberships. The account stops resolving immediately, and its products, plans, and team access are rem…
- [Account Financing Approved](https://docs.whop.com/api-reference/beta/accounts/account-financing-approved.md): Sent when the account is approved for financing and buy-now-pay-later options unlock at checkout
- [Account Financing Denied](https://docs.whop.com/api-reference/beta/accounts/account-financing-denied.md): Sent when the account's financing application is denied
- [Account updated](https://docs.whop.com/api-reference/beta/accounts/account-updated.md): Sent when an account is updated

### Users

- [User](https://docs.whop.com/api-reference/beta/users/user.md)
- [List Users](https://docs.whop.com/api-reference/beta/users/list-users.md): Search for users by name or username, ranked by social proximity to the authenticated user. Returns the user's most recently followed users when no query is given.
- [Retrieve User](https://docs.whop.com/api-reference/beta/users/retrieve-user.md): Retrieves a user by `user_` tag or username, or the authenticated user with the reserved id `me`. Profiles include linked social accounts — reading your own profile returns every linked account, other profiles only what is public on Whop (the primary Discord and the X account). The self-only fields…
- [Check User Access](https://docs.whop.com/api-reference/beta/users/check-user-access.md): Checks whether a user has access to an account, product, or experience the caller can reach.
- [List Recommended Actions](https://docs.whop.com/api-reference/beta/users/list-recommended-actions.md): Lists the recommended actions computed for the user: personal suggestions (e.g. start a business or become an affiliate) pooled with the highest-impact actions across the accounts the user owns. Business actions are tagged with their `account_id`/`account_name`; personal actions leave those `null`.…
- [Update User](https://docs.whop.com/api-reference/beta/users/update-user.md): Updates a user, addressed by `user_` tag, username, or the reserved id `me` for the authenticated user. A user token updates their own global profile; an API key updates the user's account-specific profile override (account_id required).

#### OAuth Grants

- [List OAuth Grants](https://docs.whop.com/api-reference/beta/users/list-oauth-grants.md): Lists the authenticated user's own OAuth grants — one per app they have authorized, per account they authorized it for. The list is always the caller's own; there is no parameter for reading another user's grants. Requires a user session: an API key or an OAuth token is refused, so an app can never…
- [Authorize an App](https://docs.whop.com/api-reference/beta/users/authorize-an-app.md): Completes the OAuth authorization step for the authenticated user: records their consent for the scopes an app asked for and mints the authorization code to hand back to it. Returns the grant, plus a `redirect_url` carrying that code — the one and only time it is returned. Exchange the code at `POST…

#### Passkeys

- [List](https://docs.whop.com/api-reference/beta/users/list.md): Lists the authenticated user's own passkeys, newest first. The list is always the caller's own; there is no parameter for reading another user's passkeys. Requires a user session: an API key or an OAuth token is refused, because a passkey confirms the account holder before a sensitive action and no…
- [Register](https://docs.whop.com/api-reference/beta/users/register.md): Registers a passkey for the authenticated user from the attestation a browser produced for a `registration` challenge. Mint that challenge first with `POST /users/me/passkeys/challenge`; it is single-use and expires 5 minutes after it is issued. Requires a user session.
- [Create Challenge](https://docs.whop.com/api-reference/beta/users/create-challenge.md): Mints the challenge a browser needs to run a WebAuthn ceremony against the authenticated user's own passkeys. A `registration` challenge enrolls a new passkey; a `deletion` challenge is bound to the one passkey named by `passkey_id` and proves the user still holds it. Challenges are single-use and e…
- [Delete](https://docs.whop.com/api-reference/beta/users/delete.md): Deletes one of the authenticated user's own passkeys. The request body carries a WebAuthn assertion from the passkey being deleted, so possession of the credential is proven before it is removed: mint a `deletion` challenge for it first, run the ceremony with that passkey, and send the result here.…

#### Preferences

- [Retrieve](https://docs.whop.com/api-reference/beta/users/retrieve.md): Retrieves the authenticated user's settings document. Addressed only as `me` — the document always belongs to the session user.
- [Update](https://docs.whop.com/api-reference/beta/users/update.md): Updates the authenticated user's settings document. Replaces the top-level keys it is given and leaves the rest untouched.

##### Notifications

- [List Experiences](https://docs.whop.com/api-reference/beta/users/list-experiences.md): Lists the authenticated user's per-experience notification levels. Experiences the user never set a level for are omitted — their effective level is `all`.
- [List Topics](https://docs.whop.com/api-reference/beta/users/list-topics.md): Lists the authenticated user's topic-scoped notification preferences, plus user-agnostic platform defaults. Each filter matches preferences scoped to its value or not narrowed on that dimension. Per-experience levels are listed separately, by `GET /users/me/preferences/notifications/experiences`.
- [Set](https://docs.whop.com/api-reference/beta/users/set.md): Sets the authenticated user's notification preferences. Each preference is addressed by `scope`, not by id, so a scope read back from either list endpoint can be sent straight here.

### Team Members

- [Team Member](https://docs.whop.com/api-reference/beta/team-members/team-member.md)
- [List Team Members](https://docs.whop.com/api-reference/beta/team-members/list-team-members.md): Lists an account's team members, including pending invites (`status: "pending"`, `ausri_` ids; `user` is `null` for invites sent to an email with no Whop account yet). For accepted members, `email` requires the `company:authorized_user:email:read` scope and is `null` otherwise. Listing `role=workfor…
- [Retrieve Team Member](https://docs.whop.com/api-reference/beta/team-members/retrieve-team-member.md): Retrieves a team member by ID. `email` requires the `company:authorized_user:email:read` scope and is `null` otherwise.
- [Create Team Member](https://docs.whop.com/api-reference/beta/team-members/create-team-member.md): Adds a member to an account's team with a system role. Identify them by exactly one of `user_id` or `email`. If the person has not yet accepted — or the email does not belong to a Whop account yet — an invitation is sent instead and the response is `202` with `{ "object": "team_member_invite", "invi…
- [Update Team Member](https://docs.whop.com/api-reference/beta/team-members/update-team-member.md): Changes a team member's system role. Requires a user session — account API keys cannot change member roles. The account owner's role cannot be changed, and you cannot change your own role.
- [Delete Team Member](https://docs.whop.com/api-reference/beta/team-members/delete-team-member.md): Removes a team member from the account, or revokes a pending invite when given an `ausri_` ID. A user session may delete its own membership to leave the team without the delete scope. Removing a member on the `workforce` role is also allowed with the `bounty:create` scope. The account owner cannot b…

### Members

- [Member](https://docs.whop.com/api-reference/beta/members/member.md)
- [List Members](https://docs.whop.com/api-reference/beta/members/list-members.md): Lists the members of an account. A member is one buyer's relationship with the account, regardless of how many memberships they hold.
- [Retrieve Member](https://docs.whop.com/api-reference/beta/members/retrieve-member.md): Retrieves a member by ID. Accessible to the account and to the member's own user.
- [List Member Logs](https://docs.whop.com/api-reference/beta/members/list-member-logs.md): Lists activity for a member and all of their non-drafted memberships, most recent first.
- [Member created](https://docs.whop.com/api-reference/beta/members/member-created.md): Sent when a member is created
- [Member updated](https://docs.whop.com/api-reference/beta/members/member-updated.md): Sent when a member is updated

### Economic Intelligence

- [List Economic Intelligence](https://docs.whop.com/api-reference/beta/economic-intelligence/list-economic-intelligence.md): Lists an account's recommendations and generation requests, newest first by default. Without an account, signed-out visitors receive a business-setup template and eligible users receive their saved setup recommendation. With `has_run` and no account, users receive the recommendations run on every ac…
- [Update Recommendation](https://docs.whop.com/api-reference/beta/economic-intelligence/update-recommendation.md): Updates a recommendation status, records feedback, or both. Send `sentiment` to rate it. Include `status: superseded` to retire a ready recommendation and request replacements; a rating alone leaves its status unchanged. To run a recommendation yourself, send `status: running` to start, then `status…

### Webhooks

- [List Webhooks](https://docs.whop.com/api-reference/beta/webhooks/list-webhooks.md): Returns a paginated list of webhook endpoints configured for an account, ordered by most recently created.
- [Retrieve Webhook](https://docs.whop.com/api-reference/beta/webhooks/retrieve-webhook.md): Retrieves the details of an existing webhook.
- [List Deliveries](https://docs.whop.com/api-reference/beta/webhooks/list-deliveries.md): Returns a paginated list of delivery attempts for a webhook, ordered by most recent first. Includes the request payload, response body, response code, and timing for each attempt.
- [Create Webhook](https://docs.whop.com/api-reference/beta/webhooks/create-webhook.md): Creates a webhook endpoint that receives event notifications via HTTP POST.
- [Replay Delivery](https://docs.whop.com/api-reference/beta/webhooks/replay-delivery.md): Re-sends the exact payload of a past delivery to the webhook's current URL and returns the delivery result. By default the replay keeps the original `webhook-id`, so consumers that deduplicate on it can drop events they already processed. Pass `regenerate_id` to re-send under a freshly generated `we…
- [Replay Deliveries in a Range](https://docs.whop.com/api-reference/beta/webhooks/replay-deliveries-in-a-range.md): Re-sends the webhook's past deliveries within a time window, optionally limited to specific events or to messages whose most recent delivery attempt failed. Fire and forget: nothing about the replay is stored, and each re-send appears as a new entry in the webhook's delivery log. Each matching messa…
- [Send Test Event](https://docs.whop.com/api-reference/beta/webhooks/send-test-event.md): Sends a sample payload for the given event to the webhook's URL and returns the delivery result.
- [Update Webhook](https://docs.whop.com/api-reference/beta/webhooks/update-webhook.md): Updates a webhook endpoint's URL, subscribed events, pinned payload version, or enabled state.
- [Delete Webhook](https://docs.whop.com/api-reference/beta/webhooks/delete-webhook.md): Permanently deletes a webhook endpoint. Returns `true` on success, matching the legacy proxy response.

### Stats

- [Stats](https://docs.whop.com/api-reference/beta/stats/stats.md)

#### Reports

- [List Reports](https://docs.whop.com/api-reference/beta/stats/list-reports.md): Lists every report: the aggregates that are not bucketed over time. Each entry names the report's path, its window kind, the breakdowns it accepts and its columns. A property column is an attribute of the row and lists the breakdowns it can ride along with. A metric column is a number measured over…

#### Time Series

- [List Time Series Metrics](https://docs.whop.com/api-reference/beta/stats/list-time-series-metrics.md): Lists the metrics you can chart over time, with the unit each reports and the properties you can filter or break it down by. Aggregates that are not bucketed over time are reports, listed at `GET /stats/reports`.
- [Retrieve Metric Time Series](https://docs.whop.com/api-reference/beta/stats/retrieve-metric-time-series.md): Retrieves a metric as a time series of points for an account or user over a time range. For an aggregate that is not bucketed over time, use a report from `GET /stats/reports`. The `market_prices` metric is public and requires no authentication. The `funnel` metric measures 2 to 10 ordered events pe…

### Verifications

- [Verification](https://docs.whop.com/api-reference/beta/verifications/verification.md)
- [List Verifications](https://docs.whop.com/api-reference/beta/verifications/list-verifications.md): Returns verifications for an account, including their status and any required actions.
- [Retrieve Verification](https://docs.whop.com/api-reference/beta/verifications/retrieve-verification.md): Returns verifications for an account, including their status and any required actions.
- [Create Verification](https://docs.whop.com/api-reference/beta/verifications/create-verification.md): Starts a hosted verification session for an account or user, or returns the active session when one already exists. Any fields you include in the request body are used to prefill the session. Send `documents` (with `document_type`) to instead verify the person from identity documents included in thi…
- [Update Verification](https://docs.whop.com/api-reference/beta/verifications/update-verification.md): Updates editable profile details or submits answers for items returned in `requested_information`. Once a verification is `approved` its profile details are locked and can no longer be edited.
- [Identityprofile updated](https://docs.whop.com/api-reference/beta/verifications/identityprofile-updated.md): Sent whenever an identity profile changes state — a verification is approved, needs action, or is rejected, or a Whop review opens or clears. Every other identity_profile event is also delivered as an identity_profile.updated, so you can subscribe to this single event and re-fetch the verification t…

### Exports

- [List Exports](https://docs.whop.com/api-reference/beta/exports/list-exports.md): Lists the exports requested for an account, newest first. Only exports of resources the credential is allowed to export are returned.
- [Retrieve Export](https://docs.whop.com/api-reference/beta/exports/retrieve-export.md): Fetches an export's status and, once complete, its download link.
- [Create Export](https://docs.whop.com/api-reference/beta/exports/create-export.md): Starts an asynchronous export of a resource for an account. Returns the export in `pending`; poll `GET /exports/{id}` until `download_url` is set.
- [Export completed](https://docs.whop.com/api-reference/beta/exports/export-completed.md): Sent when an export is completed
- [Export failed](https://docs.whop.com/api-reference/beta/exports/export-failed.md): Sent when an export is failed

## OpenAPI Specs

- [api-v1-native](/openapi/api-v1-native.json)
