Errors and limits
Errors use the format of the Astraeus REST API:
{"code", "message", "detail"?}. This page lists Anemoi's codes, then its
limits. Errors an agent receives inside its run, from the tool gateway, are
in Inside an agent run.
Agents and runs
| Code |
Status |
Meaning |
INVALID_AGENT |
400 |
The specification is invalid (the message names the field), or a run cannot be made (empty input, the deployment has no endpoint yet). |
AGENT_NOT_FOUND |
404 |
No such agent. |
AGENT_VERSION_NOT_FOUND |
404 |
The agent has no such version. |
AGENT_RUN_NOT_FOUND |
404 |
No such run of this agent. |
AGENT_RECEIPT_NOT_FOUND |
404 |
The run has no receipt: it is made when the run ends. |
AGENT_ALREADY_EXISTS |
409 |
An agent of that name exists. |
AGENT_CONFLICT |
409 |
It was being changed at the same time: try again. |
EVAL_GATE_FAILED |
409 |
The version has not passed the gate's suite (or scored below the current version). |
BUDGET_EXHAUSTED |
409 |
A budget of the agent or the workspace is spent: no new runs until the period turns over or the budget is raised. |
INVALID_POLICY_CHECK |
400 |
A policy check's request is invalid (more than 50 tests…). |
INVALID_SANDBOX_COMPOSITION |
400 |
A sandbox composition's request is invalid (an unknown example, a bad base). |
A run is also refused as any run is — quotas, an invalid template — with
the codes in the Astraeus errors.
Guardrails, approvals, budgets, prices, retention
| Code |
Status |
Meaning |
INVALID_GUARDRAIL |
400 |
Not Cedar, no forbid, a permit, too long, or too many guardrails. |
ORG_GUARDRAIL |
403 |
An organisation guardrail: changed only by the organisation's admins. |
GUARDRAIL_NOT_FOUND, GUARDRAIL_ALREADY_EXISTS |
404, 409 |
— |
INVALID_DECISION |
400 |
decision is not approve or deny, or the reason is over 500 characters. |
NOT_AN_APPROVER |
403 |
You are not among the approval's approvers. |
APPROVAL_NOT_PENDING |
409 |
Decided already, expired, or changed meanwhile. |
APPROVAL_NOT_FOUND |
404 |
— |
INVALID_AGENT_BUDGET |
400 |
The budget's scope, limits or name are invalid. |
AGENT_BUDGET_NOT_FOUND, AGENT_BUDGET_ALREADY_EXISTS |
404, 409 |
— |
INVALID_RETENTION_POLICY |
400 |
A number of days out of range, or the receipts' floor. |
Evaluations
| Code |
Status |
Meaning |
INVALID_EVAL |
400 |
The suite or the eval run is invalid (the message names the field). |
EVAL_SUITE_NOT_FOUND, EVAL_RUN_NOT_FOUND |
404 |
— |
EVAL_SUITE_ALREADY_EXISTS |
409 |
— |
EVAL_SUITE_IN_USE |
409 |
An agent's gate names the suite: remove it there first. |
EVAL_CONFLICT |
409 |
Not possible in the eval run's present state; the message says why. |
RUN_ANSWER_UNAVAILABLE |
409 |
A run's answer could not be read from its machine to make a case. |
Flows
| Code |
Status |
Meaning |
INVALID_FLOW |
400 |
The specification is invalid, or an execution's inputs are. POST /flow-checks lists every finding. |
FLOW_NOT_FOUND, FLOW_VERSION_NOT_FOUND, FLOW_EXECUTION_NOT_FOUND |
404 |
— |
FLOW_ALREADY_EXISTS |
409 |
— |
FLOW_CONFLICT |
409 |
Not possible in the execution's or step's present state; the message says why. |
Evidence packs
| Code |
Status |
Meaning |
INVALID_EVIDENCE_PACK |
400 |
Bad name, scope, period (at most 400 days), sections, or the workspace has 100 packs. |
EVIDENCE_PACK_NOT_READY |
409 |
Not Ready yet: it cannot be downloaded. |
EVIDENCE_PACK_NOT_FOUND, EVIDENCE_PACK_ALREADY_EXISTS |
404, 409 |
— |
Marketplace
| Code |
Status |
Meaning |
INVALID_TEMPLATE |
400 |
Bad slug, metadata, or a specification that looks like it holds a secret. |
WORKSPACE_EDITOR_REQUIRED |
403 |
Publishing and installing are for the workspace's editors. |
TEMPLATE_MANAGER_REQUIRED |
403 |
Only its managers change, remove or add versions to a template. |
ORG_ADMIN_REQUIRED |
403 |
Approving and rejecting are for the organisation's admins. |
TEMPLATE_NOT_FOUND, TEMPLATE_VERSION_NOT_FOUND |
404 |
— |
TEMPLATE_EXISTS |
409 |
The organisation has a template of that slug: publish a new version of it. |
TEMPLATE_VERSION_STATE |
409 |
The version's state does not allow it (the message gives the state). |
ALREADY_EXISTS |
409 |
The workspace has an agent or flow of that name: install with update. |
NO_CURRENT_VERSION |
400 |
The agent or flow has no current version: name one. |
Limits
| Limit |
Value |
| Agent name |
40 characters |
| Tools per agent |
16; a tool's name 32 characters |
| Fixed headers per tool |
16, each at most 1 024 bytes |
| Secrets as variables per agent |
16 |
| Instructions |
64 KiB |
| Tool policy (with guardrails), sandbox policy |
64 KiB each |
| Model routing rules |
8; 32 words each |
| Input of a run |
256 KiB |
| A run's resources |
2 CPU cores, 4 GiB memory, no GPU |
| A run's time limit |
1 hour by default; 60 s to 366 days |
| Assistant |
40 steps; 8 192 output tokens per call; 64 KiB per tool result |
| Request through the gateway |
16 MiB; web answers cut at 5 MiB |
| Trace arguments kept |
2 KiB per call |
| Approvals waiting per run |
16 on its machine |
| A held call's wait |
10 minutes by default, at most 1 day; the approval lapses 24 h after it is asked |
| A flow's approval step |
a day by default; 60 s to 7 days |
| Approval reason |
500 characters |
| Guardrails |
64 per workspace, 16 KiB each |
| Budget overspend window |
about 20 s of running runs' spend |
| Traffic split |
10 versions; weights sum to 100 |
| Eval suite |
200 cases, 10 graders, 512 KiB; 4 cases at a time; 2 h by default (60 s to 24 h) |
| Flow |
64 steps; 3 levels of sub-flows; 10 retries, 20 repeats; outputs 4 KiB per step; events 4 KiB |
| Flow durations |
a step 1 s to 30 days; the execution 60 s to 30 days; a sleep 1 s to 7 days |
| Receipt chain listing |
1 000 |
| Evidence pack |
400 days, 64 MiB, 100 per workspace; activity of 500 runs |
| Retention |
at most 3 660 days; receipts at least 30 |
| MCP server |
30 requests a minute per token |
| Marketplace template |
256 KiB of specification |