Agent Endpoints
Manage agents — HTTP webhook and voice endpoints the platform calls during dataset runs — with the aievals CLI.
Agent Endpoints
aievals agent manages agents — the deployed API
you want to test. You register the endpoint (URL, method, headers, auth, body)
and evals calls out to it as the target of experiments, dataset runs, and the
Conversation Simulator.
Not the same as an AI coding agent. To configure Claude Code or Cursor to drive
this CLI, use aievals skill install — see AI Agents.
The old aievals agent setup spelling for that was renamed to aievals skill.
| Command | What it does |
|---|---|
agent list | List agents in the current project |
agent get | Fetch a single agent by ID |
agent create | Create a new agent |
agent update | Partially update an agent (PATCH) |
There is no delete verb in the CLI. Deleting an agent is still available from
the dashboard (Manage Agents) and through the
SDK — it is the CLI that deliberately omits it.
List and read
aievals agent list --format json
aievals agent list --api-environment-id env123 --format json
aievals agent get agt_123 --format jsonlist accepts --api-environment-id to filter by API environment. Unlike most
list commands in the CLI, it is not paginated — it returns the full array,
so there are no --page / --limit flags.
Create
--name, --type, --method, and --url are required.
aievals agent create --name "Support bot" --type HTTP \
--method POST --url https://api.example.com/chatWith headers, query parameters, and a body template:
aievals agent create --name Bot --type HTTP --method POST --url https://api.example.com/chat \
--header X-Api-Key=secret \
--query-param locale=en-US \
--body '{"prompt":"{{input}}"}'Update
update is a PATCH — only the flags you pass are sent. --method and --url
are required on every update; the server validates this.
aievals agent update agt_123 --method POST --url https://api.example.com/v2/chat
aievals agent update agt_123 --method POST --url https://api.example.com/v2/chat --header X-Api-Key=rotatedFlags
create and update share the same body flags.
Scalars
| Flag | Notes |
|---|---|
--name | Agent name |
--description | Agent description |
--type | Agent type (e.g. HTTP) |
--method | GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS |
--url | Endpoint URL |
--content-type | Request content type |
--include-credentials | Send platform credentials with the request |
--purpose | DATASET_RUN, S3_SIGNING |
--channel | HTTP, VOICE |
--direction | OUTBOUND, INBOUND |
--simulator-number | Simulator number (voice agents) |
--api-environment-id | API environment ID |
Name=Value pairs — repeatable, one occurrence per entry:
| Flag | Notes |
|---|---|
--header | Request header, Name=Value |
--display-header | Display-only header, Name=Value |
--query-param | Query parameter, Name=Value |
--path-variable | Path variable, Name=Value |
--header X-Api-Key=secret --header X-Trace-Id=abcNested JSON — these have no flat flag equivalent, so they take inline JSON:
| Flag | Shape |
|---|---|
--body | Request body template, JSON object |
--body-container | Body container, JSON object |
--response | Response config, JSON object |
--variable-config | Variable config, JSON object |
--callback-config | Callback config, JSON object |
--api-webhooks | Async completion webhooks, JSON array |
--api-webhooks is write-only in v1. It is accepted on create, but it is
absent from every get and list response — so a round-trip will not show it
back. That is expected, not a lost write.
Use --format json to read an agent back. The table view truncates the nested
config objects.