Negative codes the dashboard and shared client recognize and turn into specific UX flows. These are stable contracts: do not change their meaning.
-90 No card on file
Severity: warning · Category: billing
A paid action was attempted with no payment method on file.
Common causes
- Account has no Stripe default_source
Resolution
- Client opens the "Add a card" modal and retries on success
Auto-fix: notify_user · User-actionable: yes · Related: -91, -92, -93
Source: account_module billing check ~2277; client shared/utils.js:631 (NewCard.vue)
-91 Past-due invoices
Severity: warning · Category: billing
The account has a past-due balance; payload carries topup + open_invoices.
Common causes
- Unpaid past-due balance
Resolution
- Client opens the "Pay Past Due" modal (open_invoices, topup) and retries on success
Auto-fix: notify_user · User-actionable: yes · Related: -90, -92, -93
Source: account_module billing check ~2285; client shared/utils.js:632 (PayPastDue.vue)
-92 Negative balance
Severity: warning · Category: billing
The account balance is in the negative; the full balance is requested as topup.
Common causes
- Balance below zero
Resolution
- Top up the account balance and retry
Auto-fix: notify_user · User-actionable: yes · Related: -90, -91, -93
Source: account_module billing check ~2303
-93 Topup required
Severity: warning · Category: billing
Not enough balance for the action; payload carries the required topup amount.
Common causes
- Insufficient balance for the requested charge
Resolution
- Client opens the "Topup Required" modal (amount) and retries on success
Auto-fix: notify_user · User-actionable: yes · Related: -90, -91, -92
Source: account_module billing check ~2311; client shared/utils.js:640 (TopupRequired.vue)
-401 Auth required (client redirect)
Severity: error · HTTP: 401 · Category: auth
Token invalid/expired or missing. The client redirects to the login page.
Common causes
- gtp_token missing/expired
- invalid_session / invalid_token
- google_token_invalid
Resolution
- Client redirects to /dashboard/login with redirect_url
- Re-authenticate
Auto-fix: none · User-actionable: yes · Related: 401
Source: session_module/ai_module (various); client store/index.js:94 + shared/utils.js:599
-764 File/path already exists
Severity: warning · Category: drive
An upload/create hit a duplicate; payload lists the conflicting files (.duplicates).
Common causes
- File or folder with the same name already exists
Resolution
- Client shows a conflict dialog (replace / keep both)
Auto-fix: none · User-actionable: yes · Related: -762
Source: drive_module ~1368-1472; client UploadFilesModal.vue:96 / Tab_drive.vue:1731
-999 Timeout / upstream unresponsive
Severity: error · Category: timeout
An operation (e.g. avatar generation) timed out or the upstream was unresponsive.
Common causes
- Upstream/AI service slow or down
- Job exceeded its timeout
Resolution
- Client auto-retries with backoff (max 2)
- Then shows a "service unresponsive" message
Auto-fix: retry · User-actionable: no · Related: 502, provider_outage
Source: jobs_module/rpi_module timeout; client Onboarding.vue:1039