I’m getting a 429 insufficient balance error, even though there are funds on the account. Any suggestions. I tried emailing moonshot support but no response.
Hi there,
I sincerely apologize for the delayed response to your issue. I understand how frustrating it is to be blocked by a 429 error despite having available funds, and I want to get this resolved for you immediately.
To investigate this efficiently, could you please provide the following details?
1. Exact Error Response
Please share the complete JSON error message you’re receiving. Specifically, we need the type and message fields. For example:
{
"error": {
"message": "You exceeded your current quota, please check your plan and billing details",
"type": "exceeded_current_quota_error"
}
}
Different error types indicate different root causes (e.g., rate limiting vs. quota exhaustion, or some other reasons), so the exact fields will help us pinpoint the issue.
2. API Endpoint
Which base URL are you calling? For example:
https://api.moonshot.ai/v1https://api.moonshot.cn/v1https://api.kimi.com/coding/(or another subdomain)
And where are you checking the balance?
Our various endpoints sometimes operate on separate quota and billing systems, so the specific URL will help us verify your account status against the correct system.
Once you provide these details, I can immediately check your account configuration and quota allocation on the relevant system. If this is a false positive on our end, I’ll escalate it to our engineering team right away.
Thanks for your patience.
Bests,
Yu
I’m using this endpoint. https://api.moonshot.ai/v1
Here is the json error.
{
"errorMessage": "429 Your account is suspended due to insufficient balance, please recharge your account or check your plan and billing details"
}
I’m checking the balance here. Moonshot AI Open Platform - Kimi Large Language Model API Service
Hi there,
Thanks for providing the endpoint and the error details — this helps narrow things down.
I noticed something unusual in the response you shared:
{
"errorMessage": "429 Your account is suspended due to insufficient balance, please recharge your account or check your plan and billing details"
}
Format Discrepancy
The Moonshot API (including https://api.moonshot.ai/v1) returns errors in a specific JSON structure as documented here. For account suspension or quota issues, the standard format is:
{
"error": {
"message": "Your account {organization-id} <{ak-id}> is suspended due to insufficient balance, please recharge your account or check your plan and billing details",
"type": "exceeded_current_quota_error"
}
}
The errorMessage field in your response suggests that either:
- You are using a third-party SDK, proxy, or gateway that is transforming our native error response, or
- The request is being routed through an intermediary service that wraps our API.
Quick Self-Diagnosis
To verify whether the issue is with the account itself or your current client setup, please try this direct API call using curl (replace $MOONSHOT_API_KEY with your actual key):
curl https://api.moonshot.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $MOONSHOT_API_KEY" \
-d '{
"model": "kimi-k2.5",
"messages": [
{"role": "user", "content": "PING"}
],
"thinking": {"type": "disabled"},
"max_tokens": 5
}'
Expected outcomes:
- If your account is healthy: You should receive a normal completion response like:
{
"id": "chatcmpl-xxxx",
"object": "chat.completion",
"created": 1770792923,
"model": "kimi-k2.5",
"choices": [
{
"message": {
"role": "assistant",
"content": "PONG\n\n"
},
"finish_reason": "length"
}
],
"usage": {
"prompt_tokens": 9,
"completion_tokens": 5,
"total_tokens": 14,
"cached_tokens": 9
}
}
- If there is a genuine billing/suspension issue: You will receive the standard error format with the
"error"object (not"errorMessage"), containing thetypeandmessagefields.
If the direct curl returns the standard format but your original client shows "errorMessage", this confirms an intermediary is altering the response.
Next Steps
If the issue persists or you see the standard suspension error in the curl output, please DM me with:
- Your Organization ID (found on the General Settings page)
- Your Access Key ID (the string starting with
ak-— this helps us identify the specific project associated with the key)
Don’t remember which key you’re using?
If you’re unsure which Access Key/Secret Key pair is being used in your application, you can create a new temporary key in the console to test with. This helps isolate whether the issue is specific to a particular key or account-wide.
Remember to delete any unused or temporary keys after testing to maintain good security hygiene.
Critical Security Notice:
The Access Key ID (ak-xxxxx) is safe to share for troubleshooting. However, your Secret Key (sk-xxxxx) is highly sensitive credential information. Moonshot staff will NEVER ask you to provide your Secret Key under any circumstances.
Once I have your Organization ID and Access Key ID, I can verify the actual billing status and quota limits on our backend.