---
title: "Retrieve an experiment"
method: GET
path: "/api/v2/experiments/{experiment_id}/"
tags: ["experiments"]
---

# Retrieve an experiment

`GET /api/v2/experiments/{experiment_id}/`

Retrieve an experiment by ID, including workflow and scoring configuration.

## Path parameters

- `experiment_id` string, required

## Headers

- `Authorization` string, required

## Response `200`

Experiment details.

- ExperimentsRetrieveExperimentResponse200
  - `id` string, required — Experiment ID.
  - `name` string, required — Experiment name.
  - `description` string, nullable — Experiment description.
  - `dataset` string, nullable — Dataset ID associated with the experiment.
  - `dataset_id` string, nullable — Dataset ID associated with the experiment.
  - `dataset_name` string, nullable — Dataset name, when available.
  - `workflow_count` integer — Number of workflow steps.
  - `status` string, required — Experiment execution status.
  - `progress` number, double — Execution progress percentage.
  - `created_at` string, date-time, required
  - `started_at` string, date-time, nullable
  - `completed_at` string, date-time, nullable
  - `tags` object[] — Tags attached to the experiment.
  - `workflow` ApiV2ExperimentsExperimentIdGetResponsesContentApplicationJsonSchemaWorkflowItems[] — Workflow tasks configured for the experiment.
    - `type` 'prompt' | 'completion' | 'eval' | 'condition' | 'wait' | 'duplicate', required — Workflow step type. Use `eval` for inline evaluation steps; legacy `evaluator` input is normalized to `eval`.
    - `config` object, required — Configuration for this workflow step. `prompt` accepts `prompt_id` or `prompt_slug`; `completion` accepts model generation settings; `wait` pauses until results are submitted; `duplicate` reuses dataset input/output.
  - `evaluator_ids` string[] — Evaluator IDs used for scoring.
  - `evaluator_slugs` string[] — Backward-compatible evaluator identifiers stored by the backend.
  - `evaluator_workflow_ids` string[] — Eval-only workflow versions used for scoring.
  - `batch_size` integer
  - `concurrency` integer
  - `enable_tracing` boolean
  - `error_message` string, nullable — Failure details when status is failed.

## Other responses

- `401` — Unauthorized - Missing or invalid authentication
- `404` — Not Found

---

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