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
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.