Skip to Content
Nenavi CloudLimits and errors

Limits and errors

Nenavi pays for the models that extract entities and claims from your text, so every project has hard caps. These are the alpha defaults. They can change, and the operator can raise the limits of one project.

Limits

LimitDefaultWhat countsError
Requests per minute60 per keyEvery request the service accepts429 rate_limited, with Retry-After
Content size32 KiBThe content of one store or ingest413 content_too_large
Ingest calls per month20,000Ingests, fast ingests, stores that extract, each memory a re-ingest takes, and organize and extraction re-runs429 monthly_ingest_calls_exceeded
Content tokens per month2,000,000The tokens in the content of stores and ingests429 monthly_content_tokens_exceeded
Memories per project50,000Stored memories, plus saved text that is not indexed yet429 max_nodes_exceeded

Months are UTC calendar months.

In the console, an organization can have up to 10 projects, and a project can have up to 5 active keys. A deleted project still counts toward the 10 until its seven day grace period ends. Reaching either limit returns 409 limit_exceeded from the console’s API.

How the counts work

  • A store extracts by default, so it counts as one store call and one ingest call. Send "extract": false to store text with no extraction. Then it counts as a store call and its tokens only.
  • A fast ingest batch counts as one ingest call, however many items it holds. It adds the tokens of every item.
  • A retry of a fast ingest batch with the same Idempotency-Key and the same items costs one request. It does not count again toward the monthly limits.
  • A request that the service refuses before doing any work is not counted. Neither is a request that the engine answers with a 4xx error.
  • The check happens before the work. A request is refused when it would take the month past the limit, so you can reach a limit exactly.
  • The counts are close, not exact. With several servers, a project can pass a monthly limit by about one minute of traffic. The rate limit is also kept per server, so the effective limit can be higher than 60 per minute.

See your usage

The console’s Usage tab shows this month’s requests, store, ingest, retrieve, and MCP calls, and content tokens, with a bar against the two monthly limits. The same numbers are at GET /v1/usage, which needs a key. It takes no engine slot, so it is cheap to poll. It counts as one request.

The number of memories is at GET /v1/stats.

Errors

Every error from the hosted layer has a detail and a reason_code. Errors that the engine raises keep the engine’s { "detail": "..." } shape.

Statusreason_codeWhat to do
401api_key_missingSend Authorization: Bearer <key>.
401api_key_invalidCheck the key. Copy it again from where you saved it.
401api_key_revokedCreate a new key in the console.
401project_deletedThe project was deleted.
413content_too_largeSend less than 32 KiB in one content. Split the text.
413body_too_largeSend a smaller body. The limit is 256 KiB, or 4 MiB on batch routes.
422content_invalidThe text cannot be encoded as UTF-8.
422wait_for_extraction_unsupportedRemove wait_for_extraction. Poll the extraction status instead.
422privacy_policy_unsupportedRemove the policy.
422reembed_unsupportedThis route is off in the alpha.
422limit_out_of_rangeChange limit to a value in the range on The API.
429rate_limitedWait the number of seconds in Retry-After.
429monthly_ingest_calls_exceededWait for the next month, or send "extract": false to store without extraction.
429monthly_content_tokens_exceededWait for the next month.
429max_nodes_exceededArchive memories you no longer need. The count is refreshed about once a minute.
409reingest_runningA re-ingest for this user is already working. The detail names it.
503extraction_disabledExtraction is off on the service. Fast ingest still works.
503database_unavailableWait a moment and send the request again.
503lease_unavailableThe service was busy. Wait a moment and send the request again.

To raise a limit, contact the maintainer. The address is on the privacy page .

Last updated on