latestOpenAPI 3.1.02026-08-203914245.9 MB

4a1a4a5d2c72

Users

Retrieve User

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 are populated only when the id is me: email (email-read scope), staff (Whop staff only, staff-read scope), balance and earnings_usd (balance-read scope), and the opt-in balance_history. They are always null when addressing a user by tag or username.

get/users/{id}

Query parameters

account_idstring

When set, returns the user's account-specific profile overrides for this account.

include_balance_historyboolean

Also compute your balance history (opt-in; runs a heavier query). Only applies when the id is me; ignored for callers without balance-read scope.

fromstring

Balance-history window start, ISO 8601 date or datetime. Defaults to 30 days ago. Only used with include_balance_history.

tostring

Balance-history window end, ISO 8601 date or datetime. Defaults to now. Only used with include_balance_history.

interval'hour' | 'day' | 'week' | 'month'

Balance-history point granularity. Defaults to day. Only used with include_balance_history.

time_zonestring

IANA time zone the balance-history points are bucketed in. Defaults to UTC. Only used with include_balance_history.

Response

user retrieved

biostring nullable required

The user's biography

created_atstring required

When the user was created, as an ISO 8601 timestamp

emailstring nullable required

The user's email address. Populated only on the self view (retrieved with the reserved id me) for callers with email-read scope; null otherwise, or while the account has no confirmed email yet.

idstring required

User ID, prefixed user_.

namestring nullable required

The user's display name

usernamestring required

The user's unique username

verificationobject required

Identity verification status for the user's individual (KYC) and business (KYB) profiles. Each is null until created, otherwise a status of not_started, pending, approved, or rejected.

whop_partner_enabled_atstring nullable required

When the user became an enrolled Whop Partner, as an ISO 8601 timestamp. null if never enrolled.

Example response

{
  "balance": {
    "businesses": [
      {
        "balance_usd": "18940.25",
        "id": "biz_xxxxxxxxxxxxxx",
        "logo_url": "https://assets.whop.com/logos/shine-time-auto-detailing.png",
        "name": "Shine Time Auto Detailing"
      }
    ],
    "businesses_total_usd": "18940.25",
    "cash": [
      {
        "balance": 4385.75,
        "balance_usd": 4385.75,
        "currency": "usd",
        "pending_balance_usd": 310,
        "reserve_balance_usd": 125,
        "total_withdrawable_balance": 4385.75
      }
    ],
    "cash_usd": "0.00",
    "crypto": [
      {
        "balance": "1500.0",
        "breakdown": {
          "available": "1500.0",
          "in_transit": "0",
          "pending": "0",
          "pending_settlements": [
            {
              "amount": "12.5",
              "date": "2026-01-01"
            }
          ],
          "reserve": "0"
        },
        "icon_url": "https://assets.whop.com/tokens/usdt.png",
        "name": "Tether USD",
        "price_usd": 1,
        "symbol": "USDT",
        "value_usd": 1500
      }
    ],
    "crypto_usd": "0.00",
    "pending_usd": "0.00",
    "total_usd": "0.00",
    "treasury_pending_usd": "0.00"
  },
  "balance_history": {
    "data": [
      {
        "t": 1767268800,
        "v": 2400
      }
    ]
  },
  "banner": {
    "url": "https://whop-assets-example.s3.amazonaws.com/uploads/image/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  },
  "bio": "Ceramic coating specialist. Detailing cars in Austin since 2016.",
  "created_at": "2026-01-01T12:00:00.000Z",
  "earnings_usd": {
    "first_earned_at": "2026-01-01T12:00:00.000Z",
    "owned_accounts": {
      "last_24_hours": "0.00",
      "last_30_days": "260.00",
      "last_7_days": "60.00",
      "lifetime": "4120.25"
    },
    "personal": {
      "last_24_hours": "0.00",
      "last_30_days": "260.00",
      "last_7_days": "60.00",
      "lifetime": "4120.25"
    },
    "total": {
      "last_24_hours": "0.00",
      "last_30_days": "260.00",
      "last_7_days": "60.00",
      "lifetime": "4120.25"
    }
  },
  "email": "marcus@shinetime.example",
  "id": "user_xxxxxxxxxxxxxx",
  "name": "Marcus Webb",
  "profile_picture": {
    "url": "https://ui-avatars.com/api/"
  },
  "social_accounts": [
    {
      "error": "You don't have permission to share this account. Ask an admin of its Meta Business Portfolio to grant you full control, then share it again.",
      "external_id": "1234567891",
      "id": "sacc_xxxxxxxxxxxxxx",
      "name": "Shine Time Auto Detailing",
      "parent_social_account": {
        "external_id": "555111",
        "id": "sacc_xxxxxxxxxxxxxx",
        "name": "Shine Time Auto Detailing",
        "platform": "facebook",
        "profile_picture_url": "https://shinetime.example/logo.png",
        "username": "shinetimedetailing",
        "verified": true
      },
      "platform": "instagram",
      "profile_picture_url": "https://shinetime.example/logo.png",
      "scopes": [
        "advertise"
      ],
      "url": "https://instagram.com/shinetimedetail",
      "username": "shinetimedetail",
      "verified": true
    }
  ],
  "staff": {
    "admin": true,
    "investigation_access": true
  },
  "username": "marcuswebb",
  "verification": {
    "business": null,
    "individual": null
  },
  "whop_partner_enabled_at": "2026-01-01T12:00:00.000Z"
}