# Promote the canary and end the rollout

> Makes the canary version's config the agent's live config and clears the release.

Makes the canary version's config the agent's live config and clears the release. The canary is pinned by version, so an edit that landed mid-rollout is not promoted in its place — it stays an unreleased draft in the version history.

When the release carries a `promotion_gate`, the eval it names must have a run that finished `completed` with `passed: true` **and** was pinned to the canary version (`agent_version`); otherwise the call is a `409` and the rollout is left running untouched. The run that cleared the gate is recorded as `eval_run_id` on the version that goes live.

  Request

<ParamsDetails
  {...require("./promote-agent-release.ParamsDetails.json")}
>

<RequestSchema
  {...require("./promote-agent-release.RequestSchema.json")}
>

<StatusCodes
  {...require("./promote-agent-release.StatusCodes.json")}
>
