User & subscription

All URLs below are relative to your site origin with the /api prefix (e.g. https://your-domain.com/api/v1/...).

All endpoints require Authorization: Bearer <api_key_or_jwt>.


GET /v1/me

Returns the authenticated user profile.

Query parameters: none

Request body: none

Response 200

{
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "email": "jamie@example.com",
    "created_at": "2025-01-15T12:00:00.000Z",
    "subscription_status": "active",
    "features": {
      "is_pro": true
    }
  }
}

Response 401 — invalid or missing auth

{
  "error": {
    "type": "authentication_error",
    "code": "invalid_auth",
    "message": "Missing Authorization header. Expected: Bearer <token>",
    "request_id": "req_01abc..."
  }
}

GET /v1/subscriptions/me

Returns subscription summary for the current user.

Query parameters: none

Request body: none

Response 200

{
  "data": {
    "is_pro": true,
    "status": "active",
    "source": "stripe",
    "plan": "pro_monthly",
    "expires_at": "2026-03-01T00:00:00.000Z"
  }
}

status is one of: active, trialing, past_due, canceled, expired, none.
source is one of: app_store, play_store, stripe, entitlement, none, or null.