Skip to main content

User

idstringrequired
emailstringrequired
noPasswordbooleanrequired
linkedAccounts object[]required
  • Array [
  • providerLinkedAccountProvider (string)required

    OAuth provider for linked account

    Possible values: [google, facebook, twitter]

    idstringrequired
    emailstring
    namestring
    picturestring
  • ]
  • subscription objectrequired
    plan object
    idPlanId (string)required

    ID of subscription plan

    Example: plan_monthly
    titlestringrequired
    descriptionstring
    pricenumber<float>required
    intervalSubscriptionInterval (string)required

    Subscription billing interval

    Possible values: [month, year]

    featuresstring[]
    badgestring
    discountinteger<uint8>
    savingsstring

    Savings text (e.g., "save $14.96/search")

    creditsinteger<uint32>

    Number of credits/searches included in the plan

    appleProductIdstring

    App Store product id mapped to this plan

    statusSubscriptionStatus (string)required

    Subscription status

    Possible values: [notexists, active, canceled, inactive]

    nextstring<date-time>

    Next billing date

    expiresAtstring<date-time>

    Subscription expiration date

    urlstring

    Stripe portal URL

    activebooleanrequired
    needShowbooleanrequired
    isPromobooleanrequired
    searchesLimitinteger<uint32>

    Number of searches allowed in current subscription period

    searchesUsedinteger<uint32>

    Number of searches used in current subscription period

    providerSubscriptionProvider (string)

    Billing provider that owns the subscription; absent = stripe.

    Possible values: [stripe, apple]

    liveboolean

    Raw stored billing status is active, trialing or past_due; absent = false.

    emailConfirmedbooleanrequired
    receiveEmailsbooleanrequired

    Enable email notifications. Corresponds to emailEnabled in NotificationSettings.

    newMatchesEnabledbooleanrequired

    Enable notifications for new matches found online for existing searches. When enabled, user will be notified when new matches are discovered for their previous searches.

    credits objectrequired
    totalinteger<uint32>required

    Total available credits (plan + referral)

    planinteger<uint32>required

    Credits from subscription plan

    referralinteger<uint32>required

    Referral credits. These credits are in addition to plan limits and carry over to the next month. Referral credits are spent first, then plan credits.

    availableinteger<uint32>required

    Currently available credits

    usedinteger<uint32>required

    Credits used in current month

    searchesUsedinteger<uint32>

    Number of searches used in current subscription period

    searchesLimitinteger<uint32>

    Number of searches allowed in current subscription period

    canSearchboolean

    False when the user must buy a plan before starting another search. Optional and additive: an absent value means "allowed" — clients must treat only an explicit false as blocking, so an older backend that does not emit the field never locks anyone out.

    roleUserRole (string)

    User role

    Possible values: [user, admin]

    paymentStagePaymentStage (string)

    When payment is required. Omitted or null means selection (legacy behavior).

    Possible values: [selection, results]

    offerinteger<int64>nullable

    Offer-window expiry (unix seconds). Present only when the user has an active, unredeemed subscription offer in its window; absent/null otherwise. Drives the client offer banner (paired with GET /offer).

    User
    {
    "id": "67489a2b3f4a210001",
    "email": "user@example.com",
    "noPassword": false,
    "linkedAccounts": [],
    "emailConfirmed": true,
    "receiveEmails": true,
    "newMatchesEnabled": true,
    "subscription": {
    "status": "active",
    "active": true,
    "needShow": false,
    "isPromo": false,
    "plan": {
    "id": "plan_monthly",
    "title": "Pro Monthly",
    "price": 9.99,
    "interval": "month"
    }
    },
    "credits": {
    "total": 7,
    "plan": 5,
    "referral": 2,
    "available": 6,
    "used": 1
    },
    "role": "user"
    }