---
title: "Create Paywall Preview Token"
method: POST
path: "/v2/paywalls/{id}/preview-token"
tags: ["Paywalls V2"]
---

# Create Paywall Preview Token

`POST /v2/paywalls/{id}/preview-token`

Creates a short-lived device-preview token using an organization API key. Paywall scope is the default; application scope enables the debugger paywall picker. Requires paywalls:read scope.

## Path parameters

- `id` string, required — Paywall ID

## Request body

- object
  - `expires_in` integer — an integer
  - `scope` 'paywall' | 'application' — `paywall` restricts the debugger to this paywall; `application` enables all paywalls in the application

## Response `200`

Success

- object
  - `object` 'paywall_preview_token', required
  - `token` string, required — Bearer token consumed by the device debugger
  - `application_id` string, required — a string to be decoded into a number
  - `paywall_id` string, required — a string to be decoded into a number
  - `scope` 'paywall' | 'application', required
  - `expires_at` string, required — ISO 8601 expiration timestamp
  - `deep_link` string, required — Direct custom-scheme URL for opening the customer application

## 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
- `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/e04f76c478af/schema)
