# EXPERIMENT_KEY_CONFLICT

- Surface: API
- HTTP status: 409
- Recommended action: `CHOOSE_DIFFERENT_KEY`
- Details: `{ key: string, status: "draft" | "running" | "ended" | "archived", archivedExperimentId?: string, recommendedAction: "CHOOSE_DIFFERENT_KEY" }`

## Cause

An Experiment already holds this `(App, Environment, key)`. Archiving an Experiment does not free its key, so the holder may be archived rather than live.

## Fix

Resend the create with a different key. `details.status` says whether the holder is `draft`, `running`, `ended`, or `archived`, and an archived holder also carries `details.archivedExperimentId`.

## Related

- [EXPERIMENT_NOT_FOUND](https://splitch.dev/docs/error/EXPERIMENT_NOT_FOUND)
- [SLUG_CONFLICT](https://splitch.dev/docs/error/SLUG_CONFLICT)

Source: https://splitch.dev/docs/error/EXPERIMENT_KEY_CONFLICT