---
title: "Promote a revision to production"
method: POST
path: "/v2/revisions/{revision}/promote"
tags: ["revisions"]
---

# Promote a revision to production

`POST /v2/revisions/{revision}/promote`

Make this already-built revision the live production revision without rebuilding. Pins the app's default production timeline to this revision (joining the timeline first if needed), so the default managed production host — and any custom domains assigned to the app's production timeline — route to it, and it runs with the production context's environment variables and databases.

This differs from attaching the default production alias via `PUT /revisions/{revision}/domains`: that only marks the revision as a production *member* and lets the **newest** member serve, whereas this **pins this specific** revision, so it serves even when it is older than another production revision. To undo, promote a different revision (re-pins) or remove the production override.

The revision must be built (status `routed`). Returns `204 No Content`.

## Path parameters

- `revision` string, required

## Response `204`

OK

---

[API](https://skmtc.net/deno/apis/deploy.md) · [All operations](https://skmtc.net/deno/apis/deploy/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/deno/deploy/revisions/5a56038d108e/schema)
