31 lines
1.5 KiB
Markdown
31 lines
1.5 KiB
Markdown
# Billing Not Active — diagnostic transcript
|
|
|
|
## Symptom
|
|
ALL 67 accounts under one workspace return identical error:
|
|
```
|
|
HTTP 429 Too Many Requests
|
|
{"error":{"message":"Your account is not active, please check your billing details on our website.","type":"billing_not_active","code":"billing_not_active"}}
|
|
```
|
|
|
|
## Root cause
|
|
Workspace `rebeccaberger717419_outlook.com` (id: `708980e0-b4d9-4ceb-89e0-0b196d2f39fc`) has no payment method. All 67 accounts share the same `chatgpt_account_id` → billing is workspace-level → one missing card blocks everything.
|
|
|
|
## Diagnostic pattern
|
|
Test 8 accounts spread across the full range [0, 10, 20, 30, 40, 50, 60, 66]. If ALL return billing_not_active → workspace issue, not individual account issue.
|
|
|
|
## Refresh token state
|
|
Refresh tokens are one-time-use. After first refresh, they return:
|
|
```
|
|
HTTP 401
|
|
{"error":{"message":"Your refresh token has already been used to generate a new access token. Please try signing in again.","code":"refresh_token_reused"}}
|
|
```
|
|
|
|
## Access token format
|
|
Tokens in `verify-jwt` batch are full 1700+ char JWTs. `read_file` truncates display with `...` but `len(token)` in Python confirms full length. Tokens authenticate successfully (200 on /v1/models, 401/429 on chat).
|
|
|
|
## Image generation
|
|
`gpt-image-2` returns 401 with missing scopes — requires specific role/permission in workspace:
|
|
```
|
|
HTTP 401
|
|
{"error":{"message":"You have insufficient permissions for this operation. Missing scopes: api.model.images.request..."}}
|
|
``` |