---
title: "List Paywall Templates"
method: GET
path: "/v2/paywalls/templates"
tags: ["Paywall Templates (Public)"]
---

# List Paywall Templates

`GET /v2/paywalls/templates`

Returns a list of globally-available paywall templates. Public endpoint — no authentication required. Filter by category.

## Query parameters

- `limit` string — a string to be decoded into a number
- `starting_after` string — a string to be decoded into a number
- `ending_before` string — a string to be decoded into a number
- `category` string

## Response `200`

Success

- object
  - `object` 'list', required — Object type, always `list`
  - `url` '/v2/paywalls/templates', required — API endpoint URL for this list
  - `has_more` boolean, required — Whether there are more results available beyond this page
  - `data` object[], required — List of results
    - `id` string, required — Unique identifier for the template
    - `object` 'paywall_template', required — Object type, always `paywall_template`
    - `application_id` string, required — ID of the application that owns this template
    - `name` string, required — Display name of the template
    - `description` string, nullable, required — Description of the template, or null
    - `paywall_url` string, required — URL to the interactive template paywall
    - `categories` string[], required — Categories this template belongs to
    - `preview_url` string, nullable, required — URL to preview the template, or null
    - `visibility` union, required — Visibility scope of the template
      - 'public' — Visible to all organizations
      - 'organization' — Visible only to the owning organization
    - `presentation_style` union, required — Default presentation style of the template
      - 'fullscreen' — Full screen presentation
      - 'modal' — Modal presentation
      - 'sheet' — Bottom sheet presentation
      - 'push' — Push navigation presentation
    - `created_at` string, required — ISO 8601 timestamp of when the template was created
    - `updated_at` string, required — ISO 8601 timestamp of when the template was last updated

## Other responses

- `400` — The request did not match the expected schema
- `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)
