Chat limits, quotas and error messages
When a message is refused, you want to know which of four different limits you hit and how long you have to wait. This page maps every limit in SynapseX Chat to the error you see and the fix that works.
Daily message counters
Two counters run per account and reset at UTC midnight:
| Counter | Limit | What consumes it |
|---|---|---|
| Daily messages | 1,000 per day | Every message you send, on any model |
| Daily non-free-model messages | 500 per day | Only messages sent on models outside the free set |
Atlas and Forge are in the free set. Vault, Nexus, Oracle and Quasar consume the 500/day counter in addition to the 1,000/day one. A day spent on Oracle therefore stops at 500 messages, not 1,000.
Monthly plan quota
Separately from the daily counters, your plan carries a monthly allowance of messages and tokens. When you exhaust it, a chat turn is refused with:
{ "code": "PLAN_QUOTA_EXCEEDED" }returned as HTTP 402. The per-plan message and token numbers are in Chat plans.
Burst rate limits
To stop scripted bursts, each turn is also checked against a short-window rate limit per plan, plus a plan-independent per-IP ceiling. Exceeding either returns HTTP 429 with a Retry-After header telling you how many seconds to wait, and:
{ "code": "RATE_LIMITED" }The documented defaults are:
| Plan | Requests per minute | Requests per day |
|---|---|---|
| Free | 15 | 300 |
| Go | 30 | 2,000 |
| Plus | 45 | 5,000 |
| Pro | 90 | 20,000 |
| Business | 240 | 100,000 |
There is also a 120 requests-per-minute ceiling per IP address, independent of plan. These are abuse ceilings — your real product limit is the monthly plan quota above.
Content safety
If the input guard flags your message, the turn is refused with HTTP 400 and:
{ "code": "CONTENT_BLOCKED" }The response says whether the message was blocked by the content policy or flagged as a possible prompt-injection attempt. Rephrasing in your own words normally clears it; pasting untrusted text verbatim is the usual trigger.
Hard input limits
| Limit | Value | Where it applies |
|---|---|---|
| Message length | 100,000 characters | Per message, on send and on edit |
| Attachment size | 10 MB | Per file — the error reads File size exceeds 10MB limit |
| Extracted document text | 60,000 characters | Per attachment; longer documents are truncated with an explicit marker |
Attachment details are in Files and documents.
Troubleshooting
| Symptom | What it means | Fix |
|---|---|---|
HTTP 429, RATE_LIMITED | You are sending too fast, or too many today | Wait the number of seconds in the Retry-After header, then retry |
HTTP 402, PLAN_QUOTA_EXCEEDED | Your monthly plan allowance is used up | Upgrade your plan, or wait for the month to roll over |
HTTP 400, CONTENT_BLOCKED | The input guard refused the message | Rephrase it; do not paste untrusted text verbatim |
HTTP 413 on upload | Your plan’s file storage is full | Delete old attachments, or move to a plan with more storage |
File size exceeds 10MB limit | The attachment is over the per-file cap | Split the file or compress it |
| Replies stop mid-answer | The max-tokens setting is too low | Raise Max tokens in the composer’s inference parameters popover |
| Daily limit reached on one model but not another | You hit the 500/day non-free-model counter | Switch to Atlas or Forge for the rest of the day |
Where do I check my live usage?
Settings > Billing and Settings > Usage show your current plan and month-to-date consumption against it.
Related
- Chat plans — the per-plan monthly numbers.
- Choosing a model — which models consume the second daily counter.
- Files and documents — the attachment and extraction limits in context.