experiments

Update experiment

Update an existing experiment's configuration.

Supports two modes:

1. Partial updates: Provide individual fields (name, description, stages, prolificConfig). Only provided fields are updated. Omit fields you don't want to change.

2. Full template update: Provide a complete template object (ExperimentTemplate). This replaces the entire experiment including all stages and agents. Other fields are ignored when template is provided.

Stages replacement (partial mode): If stages is provided, it completely replaces all existing stages. To modify a single stage, first GET the experiment, modify the stages array, then PUT the full array back.

put/experiments/{id}

Path parameters

idstring required

Experiment ID

Request body

namestring

(Partial update) Updated experiment name

descriptionstring

(Partial update) Updated description

prolificRedirectCodestring

(Partial update) Updated Prolific completion redirect code

stagesStage[] — unresolved $ref

(Partial update) Complete array of stage configurations. If provided, replaces all existing stages. Omit this field to leave stages unchanged.

agentMediatorsobject[]

(Partial update) Complete array of agent mediator templates. If provided, replaces all existing agent mediators. Each agent includes persona config and a promptMap with stage-specific prompts. Omit this field to leave agent mediators unchanged.

agentParticipantsobject[]

(Partial update) Complete array of agent participant templates. If provided, replaces all existing agent participants. Each agent includes persona config and a promptMap with stage-specific prompts. Omit this field to leave agent participants unchanged.

templateobject

(Full template update) Complete ExperimentTemplate object. When provided, replaces the entire experiment including all stages and agents. All other fields (name, description, stages, agentMediators, agentParticipants) are ignored. Use this mode when you need atomic replacement of the entire experiment.

Response

Experiment updated successfully

updatedboolean
idstring

Example response

{
  "updated": true,
  "id": "exp123"
}

Changes