The request completed.
Use passages only when abstention.decision is answer. An abstain response contains no supported result and should not be retried unchanged.
Errors and limits
CorpusMesh separates unsupported evidence from failed requests. Stable codes, retry guidance, bounded responses, and plan limits let your application choose the correct next action.
The values below describe the prepared EU AI Act beta plan. The immutable plan attached to an issued entitlement remains authoritative.
Request accessOutcome model
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.
Use passages only when abstention.decision is answer. An abstain response contains no supported result and should not be retried unchanged.
Inspect error.code, error.retryable, the request identifiers, and Retry-After before deciding what to do.
Stable error codes
Error responses include a bounded message, request ID, trace ID, and retryable flag. Do not parse human-readable text to control application behavior.
| HTTP | Code | Meaning | Retry |
|---|---|---|---|
| 400 | INVALID_REQUEST | Malformed JSON or a request outside the schema. | No |
| 401 | INVALID_API_KEY | Missing, invalid, revoked, expired, or wrong-environment key. | No |
| 403 | FILTER_FORBIDDEN | A filter or profile would widen the entitlement. | No |
| 403 | SCOPE_FORBIDDEN | The key lacks the retrieval:read scope. | No |
| 403 | ENTITLEMENT_INACTIVE | The knowledge base is not active for this client. | No |
| 409 | REQUEST_ALREADY_PROCESSED | The idempotency key already reached the service. | Inspect request_id |
| 429 | RATE_LIMITED | A rate, concurrency, or extraction throttle is active. | Yes |
| 429 | QUOTA_EXHAUSTED | The daily or monthly request allowance is exhausted. | No |
| 413 | INVALID_REQUEST | The request body exceeds 16,384 bytes. | No |
| 503 | INTERNAL_UNAVAILABLE | A required service dependency is unavailable. | Yes |
| 503 | RETRIEVAL_UNAVAILABLE | Retrieval or the bounded response could not complete. | Yes |
Retry discipline
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.
Do not retry invalid credentials, forbidden filters, inactive entitlements, exhausted quotas, or an unchanged abstention.
Prepared beta limits
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.
The private beta has no automatic overage and no public SLA. A plan change creates a new explicit service boundary.
Capacity planning
Share expected request volume, concurrency, result depth, and update obligations before an entitlement is issued.