88API88API
User GuideAI ApplicationsAPI ReferenceHelp & Support

Error Codes and Common Errors

What 88API errors 401, 403, 404, 429 and 5xx mean and how to fix them, from invalid tokens and low balance to rate limits and Claude Code or Codex errors.

When a call fails, the API returns an HTTP status code and a JSON body. The reason is in error.message:

{
  "error": {
    "code": "",
    "message": "Invalid token (request id: 2026101605444223...)",
    "type": "new_api_error"
  }
}

The request id at the end of message identifies this request; include it when you contact support. The Usage Log page in the console also records the time, model and error message of failed requests. When troubleshooting, check the status code first, then the message.

Error messages follow the language saved in your profile (or the client's Accept-Language header). If neither is set, the message may be returned in Chinese; the meanings below are the same.

Quick reference

Status codeMeaningWhat to do first
400The model does not accept the request content or parametersAdjust the parameters, prompt or image according to the error message
401Invalid tokenCheck that the API Key is entered correctly and has not been deleted
403Token unavailable, insufficient balance or no permissionCheck your balance, the token status, and the token's group and model restrictions
404The address or model does not existCheck whether the API address has an extra /v1, and whether the model name is available in the current group
429Too many requests or the model is busyLower the request rate and retry later
500, 502, 503, 504, 524The model service is temporarily unavailable or timed outRetry later; if it keeps failing, switch to another group or model

401: Invalid token

Common messages: Invalid token, 无效的令牌 (invalid token).

  • The API Key was copied incompletely, or has leading or trailing spaces or line breaks.
  • The token has been deleted in the console. Create or copy one again on the API Token page.
  • Claude Code: an old ANTHROPIC_API_KEY is also set. It takes priority over ANTHROPIC_AUTH_TOKEN; delete it and keep only ANTHROPIC_AUTH_TOKEN.
  • Request header format: OpenAI format uses Authorization: Bearer sk-...; Anthropic format uses x-api-key: sk-....

403: Token unavailable, insufficient balance or no permission

Insufficient balance or quota

Common messages: Insufficient user quota, Not enough quota to pre-consume for this request: … remaining, … required.

  • Your account balance does not cover the pre-charge for this request. Top up on the Wallet page.
  • Your account has a balance but you are still told it is insufficient: a token can have its own quota limit, so check the remaining quota of that token.
  • Claude Code shows this kind of 403 as an authentication failure or "API Error 403". The fix is the same.

Token status unavailable

Common message: This token status is unavailable.

The token is disabled, has expired, or has used up its quota. On the API Token page, enable the token, change its expiration time or adjust its quota.

No permission for the group or model

Common messages: No permission to access group …, API Key 所属专属分组不再允许当前用户使用 (the dedicated group this API Key belongs to is no longer available to the current user), This token has no access to model ….

  • Your account cannot use the group bound to the token: edit the token and switch to a group available in the Model Square.
  • The token has model restrictions: allow the model in the token settings, or use a different token.

The current group does not support this endpoint

Common message: This group does not allow /v1/messages dispatch.

The selected group does not support endpoints of this protocol (for example, calling Anthropic's /v1/messages with a group that only supports the OpenAI format). For Claude Code, use a token from a Claude group; for other clients, call the endpoint type that the model supports as shown in the Model Square.

404: The address or model does not exist

An extra or missing /v1 in the address

Common messages: Invalid URL, 404 page not found.

  • For Claude Code, set ANTHROPIC_BASE_URL to https://api.88api.ai without /v1 (Claude Code appends /v1/messages itself, so .../v1 becomes /v1/v1/messages).
  • For Codex, set base_url to https://api.88api.ai/v1; it must include /v1.
  • Most OpenAI-compatible apps use https://api.88api.ai/v1. See the app setup guides for each app.

The model is not available in the current group

Common messages: No available channel for model … under group …, Model "…" is not supported by any configured account in this group, model not found.

  • The model name is misspelled, or has an extra prefix or suffix. Copy the exact model name from Profile Settings or the Model Square.
  • The model is not in the group selected for the token. Check which groups support the model in the Model Square, then change the token's group.

400: The request content or parameters are not accepted

Error message (examples)Cause and fix
输入内容超过模型上下文限制 (input exceeds the model's context limit), Input exceeds the context limitThe conversation is too long. Trim the history or start a new session; in Claude Code you can use /compact to compress the context
请求中包含该模型不支持的参数(如 presence_penalty / frequency_penalty) (the request contains parameters this model does not support, such as presence_penalty / frequency_penalty)Remove the parameter named in the error
该模型是生图模型,不能通过对话接口调用 (this is an image generation model and cannot be called through the chat endpoint)Use /v1/images/generations to generate images and /v1/images/edits to edit them; see Image API
please use the Gemini native APIThis model only supports the native Gemini format; see Gemini API
the selected model cannot disable reasoning, 不支持关闭深度思考 (disabling deep thinking is not supported)This model must have thinking enabled. Remove the parameter that disables thinking (or set the thinking type to enabled)
requires adaptive thinkingThis Claude model requires adaptive thinking: remove the thinking parameter, or change it to type=adaptive as the error suggests
当前输入触发平台内容安全规则 (the input triggered the platform's content safety rules), 未通过内容安全审核 (failed content safety review), 可能违反了…内容政策 (may violate … content policy)The prompt or reference image was blocked by safety review. Change the content and try again
Failed to download multimodal content, mime type is not supportedThe image URL cannot be reached or the format is not supported. Use a publicly accessible PNG, JPEG or WebP image, or send it as base64

429: Too many requests or busy

Account request rate exceeded

Common message: Your request rate is too high. The current user group allows up to … successful requests within a …-minute window.

The default limit is 60 RPM (requests per minute). Lower the concurrency or add retry intervals in your client; if you really need a higher rate, contact customer service to request an increase.

Model busy

Common messages: Upstream rate limit exceeded, service error, please try again later, Concurrency limit exceeded.

The model is handling a large volume of requests. Wait a few seconds and retry; for more stable access, switch to another group in the Model Square.

500, 502, 503, 504, 524: Service temporarily unavailable or timed out

Common messages: Upstream service temporarily unavailable, Service temporarily unavailable. Please retry., 系统过载,请稍后重试 (system overloaded, please try again later), 模型请求失败,请稍后重试或更换模型 (model request failed, please try again later or switch models), bad response status code 504.

  • These errors are usually caused by a model service being briefly busy or by network fluctuations, and retrying usually works. We recommend retrying in your client with increasing intervals of 1, 2 and 4 seconds.
  • If the same model keeps failing, switch to another group or another model.
  • 524 and 504 mostly happen on requests that take a long time to generate: enable streaming (stream: true) for chat requests; for images and videos, use the async task endpoints and poll for results.

Still not solved

Find the failed record in the Usage Log and send the request time, model name, status code and full error message (including the request id) to online customer service. Do not send your full API Key.