---
title: "Promote Headless Version"
method: POST
path: "/v2/paywalls/{id}/promote"
tags: ["Paywalls V2"]
---

# Promote Headless Version

`POST /v2/paywalls/{id}/promote`

Points production at a pushed headless version (the latest by default): repoints the deployed version and stamps the paywall URL delivered to SDKs. Requires paywalls:write scope.

## Path parameters

- `id` string, required — Paywall ID

## Request body

- object
  - `version` number — The pushed version number to promote. Defaults to the latest pushed version.

## Response `200`

Success

- object
  - `object` 'paywall', required — Object type, always `paywall`
  - `id` string, required — ID of the paywall
  - `version` number, required — The version now live in production
  - `url` string, required — Immutable URL of the now-live snapshot
  - `promoted_at` string, required — ISO 8601 timestamp of when the version was promoted

## Other responses

- `400` — The request did not match the expected schema
- `401` — No API key was provided in the request
- `403` — The API key does not have permission to perform this action
- `404` — The requested resource was not found
- `422` — @superwall/api-schema/v2/errors/PaywallArchivedError
- `429` — Too many requests have been made in a short period
- `500` — An unexpected error occurred on the server

---

[API](https://skmtc.dev/superwall/apis/superwall-api-v2.md) · [All operations](https://skmtc.dev/superwall/apis/superwall-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/superwall/superwall-api-v2/revisions/44900ad77d2c/schema)
