---
title: "Create Code Evaluation Criteria"
method: POST
path: "/api/v2/projects/{project_id}/evaluation-criteria/code"
tags: ["Evaluation Criteria"]
---

# Create Code Evaluation Criteria

`POST /api/v2/projects/{project_id}/evaluation-criteria/code`

Create a new code evaluation criteria with an initial auto-deployed version.

## Path parameters

- `project_id` string, required

## Request body

- object
  - `name` string, required
  - `description` string, required
  - `target_type` 'prompt' | 'agent', required
  - `target_id` string, uuid, required
  - `eval_code` string, required
  - `criteria_type` '1-5' | '1-3' | '1-100' | 'yes-no' | 'multi-select' | 'text' | 'auto-categorization' | 'code-bool' | 'code-float', required
  - `sample_rate` number
  - `generate_insights` boolean
  - `language` 'python' | 'typescript'

## Response `201`

CreateCodeEvalResponse(id: uuid.UUID, name: str, description: Optional[str], target_type: shared.common.TargetType, target_id: uuid.UUID, criteria_type: shared.sqlalchemy.models.AutoEvalCriteriaType, sample_rate: Optional[float], is_enabled: bool, generate_insights: bool, deployed_version: server.api_routes.code_eval_criteria_api_v2.CodeEvalVersionSummary, latest_version: server.api_routes.code_eval_criteria_api_v2.CodeEvalVersionSummary)

- object
  - `id` string, uuid, required
  - `name` string, required
  - `description` string, nullable, required
  - `target_type` 'prompt' | 'agent', required
  - `target_id` string, uuid, required
  - `criteria_type` '1-5' | '1-3' | '1-100' | 'yes-no' | 'multi-select' | 'text' | 'auto-categorization' | 'code-bool' | 'code-float', required
  - `sample_rate` number, nullable, required
  - `is_enabled` boolean, required
  - `generate_insights` boolean, required
  - `deployed_version` CodeEvalVersionSummary, required
    - `id` string, uuid, required
    - `version_number` integer, required
    - `eval_code` string, nullable, required
    - `is_deployed` boolean, required
    - `created_at` string, required
  - `latest_version` CodeEvalVersionSummary, required
    - `id` string, uuid, required
    - `version_number` integer, required
    - `eval_code` string, nullable, required
    - `is_deployed` boolean, required
    - `created_at` string, required

---

[API](https://skmtc.net/freeplay/apis/freeplay-api.md) · [All operations](https://skmtc.net/freeplay/apis/freeplay-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/freeplay/freeplay-api/revisions/69c553220183/schema)
