Errors · Last updated

Jev unauthorized errors

Symptom: 401 Unauthorized or a platform 403 about a missing API key. No answers object.

TypeSafe’s API reference: 401 means missing or invalid API key — check the Authorization header. This site cannot mint a replacement. Independent unofficial notes. Official: docs.typesafe.ai.

Decision tree

Which door did you call?
  ├─ api.typesafe.ai or official SDK
  │     ├─ header missing / TYPESAFE_API_KEY unset → export a console key
  │     ├─ key revoked / typo / extra quotes → rotate in the dashboard
  │     └─ Bearer scheme wrong → Authorization Bearer token
  ├─ Vercel AI Gateway / AI SDK
  │     ├─ local OIDC stale (~12h per Vercel KB) → `vercel env pull` again
  │     ├─ customer verification / billing hold → Vercel account, not Jev
  │     └─ wrong provider (chat path) → evaluation model id typesafe-ai/jev
  ├─ OpenRouter
  │     ├─ OPENROUTER_API_KEY missing → 401/403 from OpenRouter
  │     └─ credit = 0 → 402 (billing), not 401
  └─ Cloudflare Workers AI
        ├─ token lacks Workers AI permission
        └─ env.AI binding missing in wrangler

Do not retry 401. Fix credentials. Official SDKs retry 429/529 only.

First-party checklist

  1. Key from console.typesafe.ai after waitlist — not from jev.pro.
  2. Env var name for official SDKs: TYPESAFE_API_KEY.
  3. curl: -H "Authorization: Bearer $TYPESAFE_API_KEY".
  4. Never commit the token.

Channel callouts

Code / message Whose problem
TypeSafe 401 Their bearer
“Must supply an API key” 403 on a marketplace That marketplace’s auth docs
Vercel customer verification Vercel
OpenRouter 402 OpenRouter wallet

These stay callouts so we do not clone a rival per-status IA.

401 vs marketplace 403 / 402

First-party TypeSafe documents 401 / 422 / 429 / 529 on POST https://api.typesafe.ai/v1/systemone. A marketplace 403 (“must supply an API key”) or 402 (insufficient credit) is that vendor’s ledger, not a TypeSafe schema bug. Do not treat 402 as “rotate TYPESAFE_API_KEY.” Do not treat a stale Vercel OIDC 401 as a Jev criterion error — pull env again; see serverless channel.

Cause → fix (first-party 401): missing/invalid Authorization: Bearer. Export a console key you already have, or rotate a revoked token. We do not sell, issue, or proxy keys.

Cause → fix (marketplace 403/402): read that host’s auth and billing docs. OpenRouter 402 is wallet. Cloudflare 403 is often a token scope or missing env.AI. REST model ids are not portable — REST channel.

If you got JSON answers, this is not unauthorized. Look at confidence or invalid input (422 names the field). Envelope shape: error envelope.

A local script that prints “Unauthorized” after a weekend is usually a stale Vercel OIDC pull or an extra quote around TYPESAFE_API_KEY. Strip quotes, pull env again, and confirm you are not sending the Gateway model id to api.typesafe.ai. First-party 401 will not become 200 because you waited. Marketplace 402 will not become 200 because you rotated a TypeSafe key. Fix the door that answered.

FAQ

Does 401 mean my question schema is wrong? No. Schema issues are 422. See invalid input.

Can a waitlisted account get 401? If you have no key, you cannot authenticate. Join the official waitlist; we do not expedite.

Should the SDK retry 401? No. Official SDKs retry 429/529 only. Retrying 401 will not mint a key.

Is OpenRouter 402 a TypeSafe status? No. It is OpenRouter billing. TypeSafe’s table does not list 402.

Hub: Errors. Siblings: invalid input, API keys.

Disclaimer

This is an independent unofficial site and is not affiliated with TypeSafe AI; official documentation is available at https://docs.typesafe.ai. Never treat jev.pro as TypeSafe official documentation. We do not sell, issue, or proxy API keys.

Sources