---
title: "Delete Eval"
method: DELETE
path: "/eval/{id}"
tags: ["Eval"]
---

# Delete Eval

`DELETE /eval/{id}`

## Path parameters

- `id` string, uuid, required

## Response `200`

- Eval
  - `messages` union[], required — This is the mock conversation that will be used to evaluate the flow of the conversation. Mock Messages are used to simulate the flow of the conversation Evaluation Messages are used as checkpoints in the flow where the model's response to previous conversation needs to be evaluated to check the content and tool calls
    - union
      - ChatEvalAssistantMessageMock
        - `role` 'assistant', required — This is the role of the message author. For a mock assistant message, the role is always 'assistant' @default 'assistant'
        - `content` string — This is the content of the assistant message. This is the message that the assistant would have sent.
        - `toolCalls` ChatEvalAssistantMessageMockToolCall[] — This is the tool calls that will be made by the assistant.
          - `name` string, required — This is the name of the tool that will be called. It should be one of the tools created in the organization.
          - `arguments` object — This is the arguments that will be passed to the tool call.
      - ChatEvalSystemMessageMock
        - `role` 'system', required — This is the role of the message author. For a mock system message, the role is always 'system' @default 'system'
        - `content` string, required — This is the content of the system message that would have been added in the middle of the conversation. Do not include the assistant prompt as a part of this message. It will automatically be fetched during runtime.
      - ChatEvalToolResponseMessageMock
        - `role` 'tool', required — This is the role of the message author. For a mock tool response message, the role is always 'tool' @default 'tool'
        - `content` string, required — This is the content of the tool response message. JSON Objects should be stringified.
      - ChatEvalToolResponseMessageEvaluation
        - `role` 'tool', required — This is the role of the message author. For a tool response message evaluation, the role is always 'tool' @default 'tool'
        - `judgePlan` AssistantMessageJudgePlanAI, required
          - `model` union, required — This is the model to use for the LLM-as-a-judge. If not provided, will default to the assistant's model. The instructions on how to evaluate the model output with this LLM-Judge must be passed as a system message in the messages array of the model. The Mock conversation can be passed to the LLM-Judge to evaluate using the prompt {{messages}} and will be evaluated as a LiquidJS Variable. To access and judge only the last message, use {{messages[-1]}} The LLM-Judge must respond with "pass" or "fail" and only those two responses are allowed.
            - EvalOpenAIModel
              - …
            - EvalAnthropicModel
              - …
            - EvalGoogleModel
              - …
            - EvalCustomModel
              - …
          - `type` 'ai', required — This is the type of the judge plan. Use 'ai' to evaluate the assistant message content using LLM-as-a-judge. @default 'ai'
          - `autoIncludeMessageHistory` boolean — This is the flag to enable automatically adding the liquid variable {{messages}} to the model's messages array This is only applicable if the user has not provided any messages in the model's messages array @default true
      - ChatEvalUserMessageMock
        - `role` 'user', required — This is the role of the message author. For a mock user message, the role is always 'user' @default 'user'
        - `content` string, required — This is the content of the user message. This is the message that the user would have sent.
      - ChatEvalAssistantMessageEvaluation
        - `role` 'assistant', required — This is the role of the message author. For an assistant message evaluation, the role is always 'assistant' @default 'assistant'
        - `judgePlan` union, required — This is the judge plan that instructs how to evaluate the assistant message. The assistant message can be evaluated against fixed content (exact match or RegEx) or with an LLM-as-judge by defining the evaluation criteria in a prompt.
          - AssistantMessageJudgePlanExact
            - `type` 'exact', required — This is the type of the judge plan. Use 'exact' for an exact match on the content and tool calls - without using LLM-as-a-judge. @default 'exact'
            - `content` string, required — This is what that will be used to evaluate the model's message content. If you provide a string, the assistant message content will be evaluated against it as an exact match, case-insensitive.
            - `toolCalls` ChatEvalAssistantMessageMockToolCall[] — This is the tool calls that will be used to evaluate the model's message content. The tool name must be a valid tool that the assistant is allowed to call. For the Query tool, the arguments for the tool call are in the format - {knowledgeBaseNames: ['kb_name', 'kb_name_2']} For the DTMF tool, the arguments for the tool call are in the format - {dtmf: "1234*"} For the Handoff tool, the arguments for the tool call are in the format - {destination: "assistant_id"} For the Transfer Call tool, the arguments for the tool call are in the format - {destination: "phone_number_or_assistant_id"} For all other tools, they are called without arguments or with user-defined arguments
              - …
          - AssistantMessageJudgePlanRegex
            - `type` 'regex', required — This is the type of the judge plan. Use 'regex' for a regex match on the content and tool calls - without using LLM-as-a-judge. @default 'regex'
            - `content` string, required — This is what that will be used to evaluate the model's message content. The content will be evaluated against the regex pattern provided in the Judge Plan content field. Evaluation is considered successful if the regex pattern matches any part of the assistant message content.
            - `toolCalls` ChatEvalAssistantMessageMockToolCall[] — This is the tool calls that will be used to evaluate the model's message content. The tool name must be a valid tool that the assistant is allowed to call. The values to the arguments for the tool call should be a Regular Expression. Evaluation is considered successful if the regex pattern matches any part of each tool call argument. For the Query tool, the arguments for the tool call are in the format - {knowledgeBaseNames: ['kb_name', 'kb_name_2']} For the DTMF tool, the arguments for the tool call are in the format - {dtmf: "1234*"} For the Handoff tool, the arguments for the tool call are in the format - {destination: "assistant_id"} For the Transfer Call tool, the arguments for the tool call are in the format - {destination: "phone_number_or_assistant_id"} For all other tools, they are called without arguments or with user-defined arguments
              - …
          - AssistantMessageJudgePlanAI
            - `model` union, required — This is the model to use for the LLM-as-a-judge. If not provided, will default to the assistant's model. The instructions on how to evaluate the model output with this LLM-Judge must be passed as a system message in the messages array of the model. The Mock conversation can be passed to the LLM-Judge to evaluate using the prompt {{messages}} and will be evaluated as a LiquidJS Variable. To access and judge only the last message, use {{messages[-1]}} The LLM-Judge must respond with "pass" or "fail" and only those two responses are allowed.
              - …
            - `type` 'ai', required — This is the type of the judge plan. Use 'ai' to evaluate the assistant message content using LLM-as-a-judge. @default 'ai'
            - `autoIncludeMessageHistory` boolean — This is the flag to enable automatically adding the liquid variable {{messages}} to the model's messages array This is only applicable if the user has not provided any messages in the model's messages array @default true
        - `continuePlan` AssistantMessageEvaluationContinuePlan
          - `exitOnFailureEnabled` boolean — This is whether the evaluation should exit if the assistant message evaluates to false. By default, it is false and the evaluation will continue. @default false
          - `contentOverride` string — This is the content that will be used in the conversation for this assistant turn moving forward if provided. It will override the content received from the model.
          - `toolCallsOverride` ChatEvalAssistantMessageMockToolCall[] — This is the tool calls that will be used in the conversation for this assistant turn moving forward if provided. It will override the tool calls received from the model.
            - `name` string, required — This is the name of the tool that will be called. It should be one of the tools created in the organization.
            - `arguments` object — This is the arguments that will be passed to the tool call.
  - `id` string, required
  - `orgId` string, required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required
  - `name` string — This is the name of the eval. It helps identify what the eval is checking for.
  - `description` string — This is the description of the eval. This helps describe the eval and its purpose in detail. It will not be used to evaluate the flow of the conversation.
  - `type` 'chat.mockConversation', required — This is the type of the eval. Currently it is fixed to `chat.mockConversation`.

## Changes

> 57 revisions in range; 2 not diffed, 9 could not be searched.

- **2026-01-06** `57c22d5b3510` — 3 warning
  - added the new `gemini-3-flash-preview` enum value to the `messages/items/oneOf[subschema #4: ChatEvalToolResponseMessageEvaluation]/judgePlan/allOf[#/components/schemas/AssistantMessageJudgePlanAI]/model/oneOf[subschema #3: EvalGoogleModel]/model` response property for the response status `200`
  - added the new `gemini-3-flash-preview` enum value to the `messages/items/oneOf[subschema #4: ChatEvalToolResponseMessageEvaluation]/judgePlan/oneOf[subschema #1: AssistantMessageJudgePlanAI]/model/oneOf[subschema #3: EvalGoogleModel]/model` response property for the response status `200`
  - added the new `gemini-3-flash-preview` enum value to the `messages/items/oneOf[subschema #6: ChatEvalAssistantMessageEvaluation]/judgePlan/oneOf[subschema #3: AssistantMessageJudgePlanAI]/model/oneOf[subschema #3: EvalGoogleModel]/model` response property for the response status `200`
- …earlier changes not shown

[Full history](https://skmtc.dev/vapiai/apis/vapi-api/changes/eval/:id/delete.md)

---

[API](https://skmtc.dev/vapiai/apis/vapi-api.md) · [All operations](https://skmtc.dev/vapiai/apis/vapi-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/vapiai/vapi-api/revisions/872ff45af53b/schema)
