Skip to main content
The Komodor Agentic Operation Platform (KAOP) enforces the limits below and returns a specific status at each one. Some are firm; several are adjustable per account, and where a limit is a default you can be given more of, it says so.
There is no rate limiting on API requests. No endpoint throttles by request rate, and the control plane itself never returns 429. The one place 429 comes from inside KAOP is the managed LLM gateway, once an account’s gateway budget is spent — see Budgets below. Any other 429 reaching you came from an upstream provider one of your agents called directly. Quota exhaustion elsewhere 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:
returned as 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.
The cap applies to every creation route: creating an agent, minting a worker token, and creating a draft.

Runs

Runs have no count limit. What they have are timeouts, and each one exists to stop a different way a run can hang.
The wall clock is a backstop, not a design target. An agent that legitimately needs hours should report progress rather than run silently — a run that produces nothing for hours is indistinguishable from a hang, to you and to the platform.

Per-worker concurrency

A worker runs one run at a time by default. Raise it with AGENTOPS_MAX_CONCURRENT on the worker.
A value of zero or less is clamped to one rather than rejected — zero does not mean unlimited. There is no account-wide concurrent-run cap; capacity is however many workers you run. An SDK-based worker also stops a single run after 100 model calls, which bounds a reasoning loop that will not terminate.

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 an account.

Memory

Triggers and schedules

A cron expression is validated for syntax when you save it, and rejected with 422 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.
A key with no expiry never expires. Set one deliberately on anything long-lived, and see API keys for rotation.

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 a window_days parameter — fleet activity, spend, quality, insights, per-agent observability — accepts 1 to 365 days and defaults to 30.
The authorization decision log is the exception: it is queryable over a window of up to 720 hours, which is 30 days.

Workflows

Budgets

Budgets are the one limit on this page priced in dollars rather than a count or a size. Three cap the spend of everyday runs, each enforced in a different place:

Agent and workflow budgets

Both are configured the same way — a cap per time window and a choice of what happens when it is reached: keep running and notify, or pause. A pause is recorded, not returned as an HTTP error: a blocked agent run is cancelled before it executes, and its run page reads Blocked by budget before execution started; a blocked workflow start marks the incident as not investigated, naming the budget, its cap and its reset time. What differs is what blocking actually stops:
  • An agent budget exempts a manual run. Starting the agent yourself from the console still works while its budget is exhausted; only its triggers and API-driven runs are blocked. A workflow budget has no such exemption — an exhausted workflow budget blocks every way of starting it, manual invocation included.
  • An agent budget reaches into a run already underway: a background sweep cancels a running run within about a minute of spend crossing the cap. A workflow budget does not — it is checked only when a new run is about to start, so a run already in progress keeps going regardless of spend.
  • An incident pipeline’s run is skipped, not queued. When an incident fires against a workflow whose budget is exhausted, the incident is marked skipped with a note naming the budget and its reset time, instead of waiting for the window to turn over.
Choosing to notify and keep running blocks nothing: an alert goes to the budget’s notification sink at the threshold and again at exhaustion, and spend keeps being tracked against the cap. See Agent spend attribution for how to set either one.

Account gateway budget

Routing an agent’s model calls through Komodor’s managed LLM gateway, instead of a provider key you supply, means the account can carry a single spend cap across every agent that uses it. It is set by Komodor, not by you — see its spend and reset window, read-only, on Providers; ask Support to have it raised.
This is the one place 429 comes from inside KAOP. Once the account’s gateway spend reaches the cap, the gateway refuses every further model call routed through it with 429, until the window resets — a run making one fails at that call rather than being stopped by the control plane. Models registered under Your providers are priced at zero on the gateway, so they never draw this budget down, and an agent that calls an LLM gateway you manage never reaches it.

Asking for more

Several limits above are adjustable per account — the agent cap and the run timeouts in particular. If one is blocking you, work out which figure you are actually hitting first (a 409 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.

Agent spend attribution

Budgets — the one limit you set yourself.