Errors and limits

Fail closed, explain the outcome, retry deliberately.

CorpusMesh separates unsupported evidence from failed requests. Stable codes, retry guidance, bounded responses, and plan limits let your application choose the correct next action.

Success
200 · answer
Unsupported
200 · abstain
Failure
4xx · 5xx
Overage
Disabled in beta
Plan authority

The values below describe the prepared EU AI Act beta plan. The immutable plan attached to an issued entitlement remains authoritative.

Request access

Outcome model

Branch on HTTP status, then on the retrieval decision.

An abstention is a completed request with no supported evidence. An error means the request did not complete. Provider or infrastructure failures are never converted into empty successful results.

200 · answer or abstain

The request completed.

Use passages only when abstention.decision is answer. An abstain response contains no supported result and should not be retried unchanged.

4xx or 5xx · error

The request did not complete.

Inspect error.code, error.retryable, the request identifiers, and Retry-After before deciding what to do.

Stable error codes

Handle the code, not a prose message.

Error responses include a bounded message, request ID, trace ID, and retryable flag. Do not parse human-readable text to control application behavior.

HTTPCodeMeaningRetry
400INVALID_REQUESTMalformed JSON or a request outside the schema.No
401INVALID_API_KEYMissing, invalid, revoked, expired, or wrong-environment key.No
403FILTER_FORBIDDENA filter or profile would widen the entitlement.No
403SCOPE_FORBIDDENThe key lacks the retrieval:read scope.No
403ENTITLEMENT_INACTIVEThe knowledge base is not active for this client.No
409REQUEST_ALREADY_PROCESSEDThe idempotency key already reached the service.Inspect request_id
429RATE_LIMITEDA rate, concurrency, or extraction throttle is active.Yes
429QUOTA_EXHAUSTEDThe daily or monthly request allowance is exhausted.No
413INVALID_REQUESTThe request body exceeds 16,384 bytes.No
503INTERNAL_UNAVAILABLEA required service dependency is unavailable.Yes
503RETRIEVAL_UNAVAILABLERetrieval or the bounded response could not complete.Yes

Retry discipline

Preserve request identity across a safe retry.

Reuse the same 16 to 128 character idempotency key only for the same logical request. Honor Retry-After and stop when the error says the request is not retryable.

InspectHTTP · code · retryable · Retry-After
Preservesame body · same Idempotency-Key
Retrybounded backoff · one logical request

Do not retry invalid credentials, forbidden filters, inactive entitlements, exhausted quotas, or an unchanged abstention.

Prepared beta limits

Limits apply before expensive retrieval work.

Rate, concurrency, body, response, and usage bounds protect the service and make operating cost predictable. Extraction controls can still throttle systematic corpus reconstruction inside nominal quotas.

Maximum top_k
5
Passage length
4,000 characters
Response size
50,000 bytes
Request rate
10 per minute
Concurrency
2 requests
Daily allowance
250 requests
Monthly allowance
5,000 requests
Request body
16,384 bytes

The private beta has no automatic overage and no public SLA. A plan change creates a new explicit service boundary.

Capacity planning

Match the plan to the real retrieval workload.

Share expected request volume, concurrency, result depth, and update obligations before an entitlement is issued.

Discuss access