User
linkedAccounts object[]required
OAuth provider for linked account
Possible values: [google, facebook, twitter]
subscription objectrequired
plan object
ID of subscription plan
plan_monthlySubscription billing interval
Possible values: [month, year]
Savings text (e.g., "save $14.96/search")
Number of credits/searches included in the plan
App Store product id mapped to this plan
Subscription status
Possible values: [notexists, active, canceled, inactive]
Next billing date
Subscription expiration date
Stripe portal URL
Number of searches allowed in current subscription period
Number of searches used in current subscription period
Billing provider that owns the subscription; absent = stripe.
Possible values: [stripe, apple]
Raw stored billing status is active, trialing or past_due; absent = false.
Enable email notifications. Corresponds to emailEnabled in NotificationSettings.
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
Total available credits (plan + referral)
Credits from subscription plan
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.
Currently available credits
Credits used in current month
Number of searches used in current subscription period
Number of searches allowed in current subscription period
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.
User role
Possible values: [user, admin]
When payment is required. Omitted or null means selection (legacy behavior).
Possible values: [selection, results]
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).
{
"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"
}