There is no rate limiting. No endpoint throttles, and nothing in KAOP returns
429. If a 429
reaches you it came from an upstream provider one of your agents called. Quota exhaustion is always
409; an oversized payload is always 413.Agents
The cap is enforced when an agent is created, so you get an immediate, explicit error rather than
discovering the limit later:
409. Three things soften it:
- Archived agents do not count. Archiving frees a slot without deleting the agent’s history, so the way to make room is to archive rather than delete.
- Reusing an existing agent does not consume another slot. Deploying again under a name that already exists reuses that agent — it rotates its token and redeploys, and the active-agent cap does not block it. Authentication, permissions, and validation still apply.
- The check is at create time only. Nothing in the live registration or presence path is capped, so an agent at the boundary keeps running normally.
Runs
Runs have no count limit. What they have are timeouts, and each one exists to stop a different way a run can hang.Per-worker concurrency
A worker runs one run at a time by default. Raise it withAGENTOPS_MAX_CONCURRENT on the
worker.
Knowledge base
Ingested formats are PDF, Word (DOCX), Markdown, and plain text. Semantic search additionally
requires an embedding provider configured for your deployment; until one is, nothing can be indexed
or retrieved — see Troubleshooting.
Payload sizes
MCP Gateway and OpenAPI surfaces
Tool output returned to an agent is truncated rather than rejected: long text is cut at a fixed
length, collections are capped, and nesting is bounded — so an enormous response degrades into a
usable one instead of failing the run.
Credentials
The limits are on a credential’s shape, not on how many you may have:
There is no cap on the number of credentials in a workspace.
Memory
Triggers and schedules
A cron expression is validated for syntax when you save it, and rejected with422 and the
expression quoted back if it is invalid. A cron-and-timezone pair with no single equivalent in UTC —
a daylight-saving edge case — is rejected the same way.
No minimum interval is enforced, so a once-a-minute schedule is accepted. One minute is the
practical floor: schedules are driven at minute granularity.
API keys and sessions
An expiry must be an ISO 8601 timestamp, must carry a timezone offset, and must be in the future;
each of those is a
400 with an explicit message.
Reading and paging
Two related bounds: a free-text search parameter is capped at 200 characters, and a bulk lookup
by run id accepts up to 500 ids.
Analysis windows
Every endpoint that takes awindow_days parameter — fleet activity, spend, quality, insights,
per-agent observability — accepts 1 to 365 days and defaults to 30.
Workflows
Asking for more
Several limits above are adjustable per workspace — the agent cap and the run timeouts in particular. If one is blocking you, work out which figure you are actually hitting first (a409 on
agent creation is the cap; a 413 is a payload; a 422 is validation), then see
Support.
Next steps
Troubleshooting
What each status code means when you hit one.
Support
Requesting an adjustment, and what to include.
Manage a deployed agent
Archiving to free an agent slot.
Agent spend attribution
Budgets — the one limit you set yourself.