---
title: "Replay evaluation cases on a candidate"
description: "With feedbackCaseId, prepare conditional guidance from that kept correction and test it with the Agent’s newest kept cases, always including the source. Do not combine feedbackCaseId with candidate or caseIds. This does not publish. Requires conversation read access. Voice Agents use a spoken-content rehearsal with an independent model (evaluationMode voice_text), not the live voice model, audio, interruptions or telephony. A person must review its applicability to calls before approval. Otherwise measure a candidate version on its kept evaluation cases before publishing it: the WhatsApp Agent rewrites each case's reply with the candidate's `instructions`, `procedures`, `integrationProcedures`, `model` and `reasoningEffort` (omitted ones stay as the live Agent has them), without running any integration tool (each answers with what it answered in the original conversation) and without sending anything; then a judge model compares each new reply with what the team expects. Replays every kept case, or `caseIds`, at most 50. It calls paid models, so it needs `confirmCost: true`. Follow it with `getEvalRun`; with the Agent's `settings.evalGate`, `updateAgent` publishes exactly this content with `evalRunId`. EVAL_CASES_UNAVAILABLE: no kept case to replay. Not an AI tool.\n\n- **Scope:** `raiz:agents:write`; some inputs also need `raiz:conversations:read`, `raiz:conversations:write`\n- **Credentials:** an API key, a client-credentials token or a person's access token\n- **Effect:** writes\n- **Limits:** request body up to 512 KB, response up to 2 MB\n- **CLI:** `arbol raiz eval-runs create` · not available on MCP"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.getarbol.com/llms.txt
> Use this file to discover all available pages before exploring further.

Path: Raíz API › Eval runs

`POST /v1/raiz/eval-runs`

With feedbackCaseId, prepare conditional guidance from that kept correction and test it with the Agent’s newest kept cases, always including the source. Do not combine feedbackCaseId with candidate or caseIds. This does not publish. Requires conversation read access. Voice Agents use a spoken-content rehearsal with an independent model (evaluationMode voice_text), not the live voice model, audio, interruptions or telephony. A person must review its applicability to calls before approval. Otherwise measure a candidate version on its kept evaluation cases before publishing it: the WhatsApp Agent rewrites each case's reply with the candidate's `instructions`, `procedures`, `integrationProcedures`, `model` and `reasoningEffort` (omitted ones stay as the live Agent has them), without running any integration tool (each answers with what it answered in the original conversation) and without sending anything; then a judge model compares each new reply with what the team expects. Replays every kept case, or `caseIds`, at most 50. It calls paid models, so it needs `confirmCost: true`. Follow it with `getEvalRun`; with the Agent's `settings.evalGate`, `updateAgent` publishes exactly this content with `evalRunId`. EVAL_CASES_UNAVAILABLE: no kept case to replay. Not an AI tool.

- **Scope:** `raiz:agents:write`; some inputs also need `raiz:conversations:read`, `raiz:conversations:write`
- **Credentials:** an API key, a client-credentials token or a person's access token
- **Effect:** writes
- **Limits:** request body up to 512 KB, response up to 2 MB
- **CLI:** `arbol raiz eval-runs create` · not available on MCP

## Authentication

Requires one of the following:

- `arbolHuman`, oauth2, scopes: `raiz:agents:write`
- `arbolMachine`, oauth2, scopes: `raiz:agents:write`
- `arbolApiKey`, http, header `Authorization`

## Request body

_Required._

- `agentId` (`raiz.evalRuns.create.agentId`; string, required) — Agent id.
  - pattern `^agt_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
- `confirmCost` (`raiz.evalRuns.create.confirmCost`; boolean, required) — A run calls paid models: the candidate's model on every step of each case's reply, then a small judge model per case. Send `true` to accept that cost.
- `candidate` (`raiz.evalRuns.create.candidate`; object, optional) — The candidate version: what changes in what the model reads. Omitted fields keep the live Agent's; `integrationProcedures` and `procedures` are complete sets, as in `updateAgent`.
  - `instructions` (`raiz.evalRuns.create.candidate.instructions`; string | null, optional) — What the Agent does and how: its role, what it may and may not do, the facts it relies on.
    - minLength 1; maxLength 100000
  - `integrationProcedures` (`raiz.evalRuns.create.candidate.integrationProcedures`; array<object>, optional) — Text Agents. Procedures a connection publishes (`listConnections`, checked live in Account), each saved with its current text and run as a free-form procedure beside `procedures`. In an update, the complete new set.
    - `connectionId` (`raiz.evalRuns.create.candidate.integrationProcedures.connectionId`; string, required) — A connection's id in Account (`con_…`).
      - minLength 1; maxLength 255; pattern `^[A-Za-z0-9_-]+$`
    - `procedure` (`raiz.evalRuns.create.candidate.integrationProcedures.procedure`; string, required) — The procedure's name, as its connection lists it.
      - minLength 1; maxLength 64; pattern `^[a-z0-9]+(-[a-z0-9]+)*$`
  - `model` (`raiz.evalRuns.create.candidate.model`; string | null, optional) — Text Agents. The tier that writes replies. `arbolito/agile`: quickest and least expensive, for direct conversations. `arbolito/balanced`: more deliberate answers at moderate cost. `arbolito/advanced`: strong reasoning for complex instructions and many tools, with an adjustable `reasoningEffort`. `arbolito/top`: the most capable, for the hardest cases, with an adjustable `reasoningEffort` up to `xhigh`. Every tier reads images and PDF documents. Null: the default, as `arbolito/agile`.
    - one of `"arbolito/agile"`, `"arbolito/balanced"`, `"arbolito/advanced"`, `"arbolito/top"`, `null`
  - `procedures` (`raiz.evalRuns.create.candidate.procedures`; array<object>, optional) — The Agent's procedures, as a complete set: a procedure left out is removed. Keep each existing procedure's `id`; a new one may omit it.
    - `name` (`raiz.evalRuns.create.candidate.procedures.name`; string, required) — A short label for people. The model never reads it.
      - minLength 1; maxLength 120
    - `type` (`raiz.evalRuns.create.candidate.procedures.type`; string, required) — `free_form`: instructions the Agent adapts. `structured`: steps that run the same way every time. Fixed once created.
      - one of `"free_form"`, `"structured"`
    - `content` (`raiz.evalRuns.create.candidate.procedures.content`; string, optional) — Free-form procedures: what to do, in Markdown, with inline references such as `[tool id="buscar_citas"]`, `[kb id="kdc_…"]`, `[procedure id="prc_…"]`, `[system_tool id="end_conversation"]` and `{{contact_name}}`. Empty for structured procedures.
      - maxLength 50000
    - `id` (`raiz.evalRuns.create.candidate.procedures.id`; string, optional) — The procedure's id (`prc_…`), stable for the Agent's life.
      - pattern `^prc_[0-7][0-9a-hjkmnp-tv-z]{25}$`
    - `status` (`raiz.evalRuns.create.candidate.procedures.status`; string, optional) — A paused procedure runs on no channel.
      - one of `"active"`, `"paused"`
    - `steps` (`raiz.evalRuns.create.candidate.procedures.steps`; array<any of>, optional) — Structured procedures: the steps, in order. Empty for free-form procedures.
      - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`
    - `trigger` (`raiz.evalRuns.create.candidate.procedures.trigger`; string, optional) — When it applies, from the contact's side: When the contact asks to book or move an appointment. Empty makes a sub-procedure, which only runs when another procedure references it.
      - maxLength 1000
  - `reasoningEffort` (`raiz.evalRuns.create.candidate.reasoningEffort`; string | null, optional) — Text Agents whose tier reasons (`arbolito/advanced`, `arbolito/top`, or an Agent already running a model that reasons): `none` answers fastest, `high` deliberates most, and `xhigh`, on `arbolito/advanced` and `arbolito/top`, deliberates past it. Null: the tier's default. A tier that does not reason refuses it (AGENT_SETTINGS_INVALID).
    - one of `"none"`, `"low"`, `"medium"`, `"high"`, `"xhigh"`, `null`
- `feedbackCaseId` (`raiz.evalRuns.create.feedbackCaseId`; string, optional) — Evaluation case id.
  - pattern `^evc_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
- `caseIds` (`raiz.evalRuns.create.caseIds`; array<string>, optional) — The Agent's kept cases to replay. Omitted: its 50 newest kept cases.
  - pattern `^evc_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`

## Example request

```json
{
  "agentId": "agt_01m45h8q2rf3t9w6y7z0b1c2d3",
  "candidate": {
    "instructions": "string",
    "integrationProcedures": [
      {
        "connectionId": "string",
        "procedure": "string"
      }
    ],
    "model": "arbolito/agile",
    "procedures": [
      {
        "content": "string",
        "id": "prc_01k8f3w2pqv6xs9mhdr0tz7n3b",
        "name": "string",
        "status": "active",
        "steps": [
          {
            "instruction": "string",
            "type": "ask"
          }
        ],
        "trigger": "string",
        "type": "free_form"
      }
    ],
    "reasoningEffort": "none"
  },
  "feedbackCaseId": "evc_01m45h8q2rf3t9w6y7z0b1c2d3",
  "caseIds": [
    "evc_01m45h8q2rf3t9w6y7z0b1c2d3"
  ],
  "confirmCost": true
}
```

## Code samples

### cURL

```bash
curl https://api.getarbol.com/v1/raiz/eval-runs \
  --request POST \
  --header "Authorization: Bearer $ARBOL_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
  "agentId": "agt_01m45h8q2rf3t9w6y7z0b1c2d3",
  "confirmCost": true
}'
```

### TypeScript

```typescript
import { createClient } from "@arbol-ai/sdk";

const arbol = createClient({
  baseUrl: "https://api.getarbol.com",
  token: process.env.ARBOL_API_KEY!,
});

const { data } = await arbol.raiz.evalRuns.create({
  agentId: "agt_01m45h8q2rf3t9w6y7z0b1c2d3",
  confirmCost: true,
});
```

### Rust

```rust
use arbol_sdk::{types, Client, Credential};

let arbol = Client::new(Credential::ApiKey(std::env::var("ARBOL_API_KEY")?))?;

let input: types::RaizEvalRunsCreateInput = serde_json::from_value(serde_json::json!({
    "agentId": "agt_01m45h8q2rf3t9w6y7z0b1c2d3",
    "confirmCost": true
}))?;
let data = arbol.raiz().eval_runs().create(&input).await?;
```

### CLI

```bash
arbol raiz eval-runs create --agent-id agt_01m45h8q2rf3t9w6y7z0b1c2d3 --confirm-cost true
```

## Responses

### 200

Successful operation.

#### Example

```json
{
  "success": true,
  "data": {
    "agentId": "agt_01m45h8q2rf3t9w6y7z0b1c2d3",
    "evaluationMode": "text",
    "baseVersion": 1,
    "feedbackCaseVersion": 1,
    "baseVersionId": "string",
    "caseIds": [
      "evc_01m45h8q2rf3t9w6y7z0b1c2d3"
    ],
    "feedbackCaseId": "evc_01m45h8q2rf3t9w6y7z0b1c2d3",
    "proposal": {
      "replaceText": "string",
      "appliesWhen": "string",
      "guidance": "string",
      "exceptions": "string"
    },
    "proposedInstructions": "string",
    "contentSha256": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "endedAt": "2019-08-24T14:15:22Z",
    "errorCode": "string",
    "errors": 0,
    "failed": 0,
    "id": "evr_01m45h8q2rf3t9w6y7z0b1c2d3",
    "passed": 0,
    "results": [
      {
        "caseId": "evc_01m45h8q2rf3t9w6y7z0b1c2d3",
        "createdAt": "2019-08-24T14:15:22Z",
        "errorCode": "string",
        "escalated": true,
        "handedOff": true,
        "reasons": "string",
        "reply": "string",
        "toolCalls": [
          "string"
        ],
        "usage": {},
        "verdict": "passed"
      }
    ],
    "status": "queued",
    "updatedAt": "2019-08-24T14:15:22Z"
  },
  "error": null,
  "metadata": {
    "requestId": "string"
  }
}
```

- `success` (`raiz.evalRuns.create.response.200.success`; boolean, required)
- `data` (`raiz.evalRuns.create.response.200.data`; object, required)
  - `agentId` (`raiz.evalRuns.create.response.200.data.agentId`; string, required) — Agent id.
    - pattern `^agt_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
  - `evaluationMode` (`raiz.evalRuns.create.response.200.data.evaluationMode`; string, required) — voice_text tests spoken response content with an independent model; it does not test the live voice model, audio, interruptions or telephony. Human review is required before approval.
    - one of `"text"`, `"voice_text"`
  - `baseVersion` (`raiz.evalRuns.create.response.200.data.baseVersion`; integer | null, required)
    - min 1
  - `feedbackCaseVersion` (`raiz.evalRuns.create.response.200.data.feedbackCaseVersion`; integer | null, required)
    - min 1
  - `baseVersionId` (`raiz.evalRuns.create.response.200.data.baseVersionId`; string | null, required) — The Agent version that was live when the run was created (`agv_…`).
  - `caseIds` (`raiz.evalRuns.create.response.200.data.caseIds`; array<string>, required)
    - pattern `^evc_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
  - `feedbackCaseId` (`raiz.evalRuns.create.response.200.data.feedbackCaseId`; string | null, required) — Evaluation case id.
    - pattern `^evc_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
  - `proposal` (`raiz.evalRuns.create.response.200.data.proposal`; object | null, required)
    - `appliesWhen` (`raiz.evalRuns.create.response.200.data.proposal.appliesWhen`; string, required)
      - minLength 1; maxLength 600
    - `guidance` (`raiz.evalRuns.create.response.200.data.proposal.guidance`; string, required)
      - minLength 1; maxLength 1200
    - `exceptions` (`raiz.evalRuns.create.response.200.data.proposal.exceptions`; string, required)
      - minLength 1; maxLength 600
    - `replaceText` (`raiz.evalRuns.create.response.200.data.proposal.replaceText`; string | null, optional)
      - minLength 1; maxLength 2000
  - `proposedInstructions` (`raiz.evalRuns.create.response.200.data.proposedInstructions`; string | null, required) — For a feedback proposal, the exact candidate instructions to review and send to updateAgent with evalRunId and expectedVersion. No live Agent has changed.
  - `contentSha256` (`raiz.evalRuns.create.response.200.data.contentSha256`; string, required) — SHA-256 of the candidate's content (instructions, procedures, connection procedures, model, reasoning effort): what `settings.evalGate` compares with an update's.
    - pattern `^[a-f0-9]{64}$`
  - `createdAt` (`raiz.evalRuns.create.response.200.data.createdAt`; string, required) — An instant in RFC 3339 format, in UTC.
    - format `date-time`
  - `endedAt` (`raiz.evalRuns.create.response.200.data.endedAt`; string | null, required) — An instant in RFC 3339 format, in UTC.
    - format `date-time`
  - `errorCode` (`raiz.evalRuns.create.response.200.data.errorCode`; string | null, required) — Why a `failed` run stopped: `agent_not_found`, or `integrations_unavailable` (Account could not describe the Agent's tools for 15 minutes).
  - `errors` (`raiz.evalRuns.create.response.200.data.errors`; integer, required) — Cases that could not be replayed or judged.
    - min 0
  - `failed` (`raiz.evalRuns.create.response.200.data.failed`; integer, required)
    - min 0
  - `id` (`raiz.evalRuns.create.response.200.data.id`; string, required) — Evaluation run id.
    - pattern `^evr_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
  - `passed` (`raiz.evalRuns.create.response.200.data.passed`; integer, required)
    - min 0
  - `results` (`raiz.evalRuns.create.response.200.data.results`; array<object>, required)
    - `caseId` (`raiz.evalRuns.create.response.200.data.results.caseId`; string, required) — Evaluation case id.
      - pattern `^evc_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
    - `createdAt` (`raiz.evalRuns.create.response.200.data.results.createdAt`; string, required) — An instant in RFC 3339 format, in UTC.
      - format `date-time`
    - `errorCode` (`raiz.evalRuns.create.response.200.data.results.errorCode`; string | null, required) — `empty_reply`: the candidate wrote nothing, so the contact would have read the fallback. `case_turn_missing`: the case's turn or conversation is gone. `model_error`, `timeout`, `replay_failed`: the replay or the judge failed.
    - `escalated` (`raiz.evalRuns.create.response.200.data.results.escalated`; boolean, required) — The candidate escalated the conversation to the team.
    - `handedOff` (`raiz.evalRuns.create.response.200.data.results.handedOff`; boolean, required) — The candidate handed the conversation to a person.
    - `reasons` (`raiz.evalRuns.create.response.200.data.results.reasons`; string | null, required) — The judge's reasons, without personal data.
    - `reply` (`raiz.evalRuns.create.response.200.data.results.reply`; string | null, required) — The candidate's reply as the contact would have read it, with the options it offered in brackets. Personal data like any message: it is erased with its case.
    - `toolCalls` (`raiz.evalRuns.create.response.200.data.results.toolCalls`; array<string>, required) — The tools the candidate called, in order, by name. None ran: each answered with what it answered in the original conversation.
    - `usage` (`raiz.evalRuns.create.response.200.data.results.usage`; object | null, required) — Tokens and model calls the replay and the judge used.
    - `verdict` (`raiz.evalRuns.create.response.200.data.results.verdict`; string, required) — `passed`: the judge found the new reply does what the team expects. `failed`: it does not, or the candidate wrote no reply. `error`: the case could not be replayed or judged (`errorCode`).
      - one of `"passed"`, `"failed"`, `"error"`
  - `status` (`raiz.evalRuns.create.response.200.data.status`; string, required) — `queued` until the channel evaluator takes it (within a minute), `running` while cases are replayed (each result appears as it is judged), `completed` once every case has a result, `failed` when it could not continue.
    - one of `"queued"`, `"running"`, `"completed"`, `"failed"`
  - `updatedAt` (`raiz.evalRuns.create.response.200.data.updatedAt`; string, required) — An instant in RFC 3339 format, in UTC.
    - format `date-time`
- `error` (`raiz.evalRuns.create.response.200.error`; null, required)
- `metadata` (`raiz.evalRuns.create.response.200.metadata`; object, required)
  - `requestId` (`raiz.evalRuns.create.response.200.metadata.requestId`; string, required) — Request correlation identifier, also sent as X-Request-Id.

### 400

`INVALID_INPUT`: The request does not match the published schema.

#### Example

```json
{
  "error": {
    "code": "INVALID_INPUT"
  }
}
```

- `error` (`raiz.evalRuns.create.response.400.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 401

`UNAUTHORIZED`: A valid access token is required.

#### Example

```json
{
  "error": {
    "code": "UNAUTHORIZED"
  }
}
```

- `error` (`raiz.evalRuns.create.response.401.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 403

`FORBIDDEN`: The token does not authorize this operation.

#### Example

```json
{
  "error": {
    "code": "FORBIDDEN"
  }
}
```

- `error` (`raiz.evalRuns.create.response.403.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 404

- `NOT_FOUND`: The requested operation does not exist.
- `RESOURCE_NOT_FOUND`: The requested resource does not exist in this organization.

#### Example

```json
{
  "error": {
    "code": "NOT_FOUND"
  }
}
```

- `error` (`raiz.evalRuns.create.response.404.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 405

`HTTP_METHOD_NOT_ALLOWED`: The HTTP method is not supported for this resource.

#### Example

```json
{
  "error": {
    "code": "HTTP_METHOD_NOT_ALLOWED"
  }
}
```

- `error` (`raiz.evalRuns.create.response.405.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 409

- `EVAL_CASES_UNAVAILABLE`: The Agent has no kept evaluation case to replay, or a named case is not one of its kept cases.
- `INVALID_STATE`: The resource is not in a state that allows this operation.

#### Example

```json
{
  "error": {
    "code": "EVAL_CASES_UNAVAILABLE"
  }
}
```

- `error` (`raiz.evalRuns.create.response.409.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 413

`REQUEST_TOO_LARGE`: The request exceeds the allowed size.

#### Example

```json
{
  "error": {
    "code": "REQUEST_TOO_LARGE"
  }
}
```

- `error` (`raiz.evalRuns.create.response.413.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 415

`UNSUPPORTED_MEDIA_TYPE`: The request content type is not supported.

#### Example

```json
{
  "error": {
    "code": "UNSUPPORTED_MEDIA_TYPE"
  }
}
```

- `error` (`raiz.evalRuns.create.response.415.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 422

- `AGENT_PROCEDURES_INVALID`: A procedure is incomplete, references a tool, document or procedure the Agent does not have, or breaks the structured step rules. `issues` says where.
- `AGENT_SETTINGS_INVALID`: The settings do not apply to this Agent's modality, or two settings contradict each other.
- `INTEGRATION_PROCEDURE_UNAVAILABLE`: A procedure does not exist in this organization's connections, Raíz cannot run its connection, or the Agent is not a text Agent.

#### Example

```json
{
  "error": {
    "code": "AGENT_PROCEDURES_INVALID"
  }
}
```

- `error` (`raiz.evalRuns.create.response.422.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 429

`RATE_LIMITED`: The request rate limit was exceeded. Try again later.

#### Example

```json
{
  "error": {
    "code": "RATE_LIMITED"
  }
}
```

- `error` (`raiz.evalRuns.create.response.429.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 500

`INTERNAL_ERROR`: The service could not complete the operation.

#### Example

```json
{
  "error": {
    "code": "INTERNAL_ERROR"
  }
}
```

- `error` (`raiz.evalRuns.create.response.500.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 502

`OUTCOME_UNKNOWN`: The operation may have been applied; check its result before repeating it.

#### Example

```json
{
  "error": {
    "code": "OUTCOME_UNKNOWN"
  }
}
```

- `error` (`raiz.evalRuns.create.response.502.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 503

- `UPSTREAM_UNAVAILABLE`: The upstream service could not complete the request.
- `FEEDBACK_PROPOSAL_UNAVAILABLE`: A usable improvement could not be prepared. The Agent has not changed. Try again later.
- `INTEGRATIONS_UNAVAILABLE`: The organization's integrations cannot be read right now. Try again shortly.

#### Example

```json
{
  "error": {
    "code": "UPSTREAM_UNAVAILABLE"
  }
}
```

- `error` (`raiz.evalRuns.create.response.503.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 504

`UPSTREAM_TIMEOUT`: The upstream service did not respond before its deadline.

#### Example

```json
{
  "error": {
    "code": "UPSTREAM_TIMEOUT"
  }
}
```

- `error` (`raiz.evalRuns.create.response.504.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`


Source: https://docs.getarbol.com/api/raiz/eval-runs/create/index.md
