---
title: "Add Paywall to Survey"
method: POST
path: "/v2/surveys/{id}/paywalls"
tags: ["Surveys V2"]
---

# Add Paywall to Survey

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

Associates a paywall with this survey at the specified presentation condition. Requires surveys:write scope.

## Path parameters

- `id` string, required — Survey ID

## Request body

- object
  - `paywall_id` string, required — ID of the paywall to associate
  - `survey_presentation_condition` union, required — When to show the survey on this paywall
    - 'ON_MANUAL_CLOSE' — Show when the user manually closes the paywall
    - 'ON_PURCHASE' — Show after the user makes a purchase

## Response `200`

Success

- object
  - `survey_id` string, required — Survey ID
  - `survey_presentation_condition` union, required — When the survey is shown
    - 'ON_MANUAL_CLOSE' — Show when the user manually closes the paywall
    - 'ON_PURCHASE' — Show after the user makes a purchase
  - `paywall` object, required — Associated paywall details
    - `id` string, required — Paywall ID
    - `name` string, required — Paywall name
    - `v4` boolean, required — Whether this is a v4 paywall
    - `url` string, required — Paywall URL
    - `application_id` string, required — Application ID

## 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
- `409` — The resource already exists or conflicts with an existing resource
- `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)
