---
title: "Start Red Team Evaluation"
method: POST
path: "/evaluations/v1/red-team"
tags: ["Red Team Evaluations"]
---

# Start Red Team Evaluation

`POST /evaluations/v1/red-team`

[BETA] This endpoint is not GA or Production ready and is subject to changes at any time. Breaking changes may occur.

Start a new red team client workflow.
Auto-triggers planning phase. Client should then poll /next-action.

## Request body

- ClientRedTeamBody — Request to start a client-driven red team workflow. `target_model` and `target_system_prompt` may be supplied directly or sourced from a referenced `config_id`. If neither location supplies them, the start request is rejected with 422.
  - `name` string, required — Name for this evaluation
  - `config_id` string, uuid — Optional preset config (see /evaluations/v1/red-team/configs) to seed the workflow settings. Any field also present in this body overrides the corresponding value from the config.
  - `target_model` string — Target model identifier. Freeform for the client-driven workflow: the client owns and drives its own target, so this is NOT validated against the servable-model catalog. (The simulated start and config presets do validate against the catalog.)
  - `target_system_prompt` string — System prompt for the target
  - `objective_ids` string[] — Objective IDs to evaluate
  - `severity_mapping` SeverityMapping — Map from objective ID to a severity level. Determines the per-session severity derived from the worst objective achieved during a red team session. Keys must be objective IDs known to this service; unknown keys are rejected at validation time. Limited to 256 entries.
  - `execution_strategy_type` 'RANDOM' | 'SINGLE' | 'STATIC_PROMPT_SET' — Execution strategy type
  - `n_random_techniques` integer — Number of random techniques to use
  - `max_parallel_techniques` integer — Maximum parallel techniques
  - `max_turns` integer — Maximum conversation turns
  - `attacker_max_generation_attempts` integer — Internal override; service default applies if omitted. Maximum number of generation attempts for the attacker model per turn.
  - `refusal_judge_model` string — Internal override; service default applies if omitted.
  - `objective_judge_model` string — Internal override; service default applies if omitted.
  - `evaluation_report_model` string — Internal override; service default applies if omitted.
  - `attacker_model` string — Internal override; service default applies if omitted.
  - `hl_project_id` string — HiddenLayer project UUID or alias
  - `prompt_set_id` string, uuid — Prompt set UUID (built-in catalog or tenant DB)
  - `sessions_per_technique` integer — Number of sessions per technique
  - `attacker_guidance` string — Optional intent-only natural-language text the operator supplies to focus the attacker LLM within the configured APE objectives. Example: "try to get the model to recommend candy with nuts to a user who's allergic to nuts." Sanitized server-side: input is NFKC-normalized, trimmed, and checked against a strict character whitelist (ASCII letters, digits, spaces/newlines/tabs, and sentence-level punctuation `. , ? ! ' " - : ; ( )`). Inputs containing XML/JSON/code/control/markdown characters are rejected with 422. No-op for the `STATIC_PROMPT_SET` execution strategy.

## Response `201`

Workflow started successfully

- StartWorkflowResponse — Response from starting a workflow.
  - `workflow_id` string, required — Workflow identifier
  - `run_id` string, required — Run identifier

## Other responses

- `400` — The request failed due to a client error, with one or more of the following possible causes: 1. The request required a tenant_id field, which was missing. 2. The request was malformed syntactically or semantically.
- `401` — Authentication Error
- `403` — Forbidden Error
- `422` — Validation Error

---

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