Subscriptions
Subscriptions

Get Quick Subscription Status

🚀 QUICK STATUS CHECK - Supports both authenticated and device-based users

Get lightweight subscription status - perfect for:

  • App header (showing plan badge: "Free" or "Premium")
  • Dashboard widgets
  • Quick checks before user actions
  • Displaying remaining scans/gems counters

Access Methods:

  • With Token: Returns user subscription status (authenticated)
  • With X-Device-Id: Returns device scan status (anonymous)
  • With Both: Returns user status (token takes priority)
  • With Neither: Returns 401 error

Response includes:

  • plan_type: "free" or "premium"
  • is_active: true/false
  • scans_remaining: number or "unlimited"
  • collection_slots_remaining: number or "unlimited"

Example Usage:

// Authenticated user
const status = await fetch('/api/v1/subscriptions/status', {
  headers: { 'Authorization': `Bearer ${token}` }
}).then(r => r.json());

// Anonymous user with device tracking
const status = await fetch('/api/v1/subscriptions/status', {
  headers: { 'X-Device-Id': deviceId }
}).then(r => r.json());

// Use for UI
if (status.plan_type === 'free') {
  showUpgradeBanner();
}
if (status.scans_remaining === 0) {
  disableScanButton();
}

Fast & Lightweight - Only returns essential info for UI state.

get/api/v1/subscriptions/status

Request

  • Base URL: https://api.gemstoneaiapp.com (the document declares no server; this is the origin it was published from)
  • URL: https://api.gemstoneaiapp.com/api/v1/subscriptions/status
  • Auth: none declared

Headers

X-Device-Idinteger nullable
authorizationstring nullable

Response

Successful Response

plan_typestring required

'free' or 'premium'

is_activeboolean required

Is subscription active?

is_premiumboolean required

True if user has active premium subscription, False otherwise

scans_limitinteger nullable

Monthly scan limit (null if unlimited)

collection_limitinteger nullable

Collection size limit (null if unlimited)

Example response

{
  "collection_limit": 10,
  "collection_slots_remaining": 7,
  "is_active": true,
  "is_premium": false,
  "plan_type": "free",
  "scans_limit": 5,
  "scans_remaining": 3
}

Changes

No recorded changes to this operation across all 1 revision of this API.