API
Rate limits
Per-credential and per-route limits, generated from the credential matrix.
Generated from the credential matrix · version 1 · sha
9d2b630103a5. Do not edit by hand: the source issrc/credential-matrix.tsin the engine.
Authenticated routes count per credential: the bucket is the sha256 of the whole bearer, so two tokens never share a limit. Public routes count per real client IP. The window slides.
| Routes | Bucket key | Limit | Window | Server override | When exceeded |
|---|---|---|---|---|---|
Public routes and requests without a bearer (*) | Real client IP (CF-Connecting-IP) | 60 | 60 s | VALORBRAIN_RATE_LIMIT_MAX | 429 with retry_after_ms |
Authenticated routes (*) | sha256 of the whole bearer (two tokens never share a bucket); the platform credential, per target tenant. Exempt only for api_tokens.is_admin with VALORBRAIN_RATE_LIMIT_EXEMPT=true | 300 | 60 s | VALORBRAIN_RATE_LIMIT_AUTH_MAX | 429 with retry_after_ms |
Engine bearer that does not resolve (*) | Real client IP (CF-Connecting-IP); once spent, 429 without a database lookup | 60 | 60 s | VALORBRAIN_RATE_LIMIT_AUTH_FAILURE_MAX | 429 with retry_after_ms |
Signup MCP token reissue (POST /api/v1/agents/mcp-token) | Tenant of the vb_agent_ key | 3 | 60 s | VALORBRAIN_RATE_LIMIT_AGENT_REISSUE_MAX | 429 with retry_after_ms |
Search (/search, /api/v1/search, /retrieve) | sha256 of the bearer | 120 | 60 s | VALORBRAIN_RATE_LIMIT_SEARCH_MAX | 429 with retry_after_ms |
Agent signup (POST /api/v1/agents/signup) | Real client IP; also 5 signups per IP per day | 10 | 60 s | VALORBRAIN_RATE_LIMIT_SIGNUP_MAX | 429 with retry_after_ms |
OAuth dynamic registration (POST /oauth/register) | Real client IP | 10 | 60 s | VALORBRAIN_RATE_LIMIT_OAUTH_MAX | 429 rate_limited with Retry-After |
SaaS ingest (POST https://valorbrain.valor.digital/api/v1/ingest) | Credential (vbm_ token or fk_ key) | 200 | 60 s | fixed in code | 429 Rate limit exceeded (200 req/min) |
Answers (/ask) (POST /ask) | Tenant (plan default in burst_answers_per_min); optional customer monthly cap | 60 | 60 s | VALORBRAIN_TENANT_BURST_DEFAULT | 429 answer_burst_exceeded with Retry-After; 429 answer_cap_reached at the monthly cap |
Per credential
| Credential | Rate limit |
|---|---|
MCP token (vbm_) | authenticated and search, per sha256 of the token |
Agent account key (vb_agent_) | authenticated and search, per sha256 of the key |
Service key (vb_) | authenticated and search, per sha256 of the key |
Workspace ingest key (fk_) | saas_ingest, per credential |
| Dashboard session | App limits |
429 answers are in the error catalog.