---
title: "Changes to Push Headless Version"
method: POST
path: "/v2/paywalls/{id}/versions"
---

# Changes to Push Headless Version

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

> Every recorded change to this operation, newest first.

## Timeline

Changed in 6 of 29 revisions.

- **2026-11-02** `523b4734dfab`: 1 info
- **2026-10-29** `778a11cd2c15`: 7 warning, 2 info
- **2026-10-05** `6118ba8e7f16`: 3 info
- **2026-09-21** `bcf994d3682a`: 1 info
- **2026-09-15** `9291e5369ab4`: 1 info
- **2026-09-09** `217c96dc9a29`: 41 breaking, 165 info

## Changes

- **2026-11-02** `523b4734dfab`: 1 info
  - added the new optional request property `products/anyOf[subschema #1]/items/billing_plan_type`
- **2026-10-29** `778a11cd2c15`: 7 warning, 2 info
  - added the new `credentials_missing` enum value to the `anyOf[subschema #2]/code` response property for the response status `400`
  - added the new `credentials_missing` enum value to the `code/anyOf[subschema #1]/` response property for the response status `403`
  - added the new `credentials_missing` enum value to the `code/anyOf[subschema #1]/` response property for the response status `404`
  - added the new `credentials_missing` enum value to the `code/anyOf[subschema #1]/` response property for the response status `409`
  - added the new `credentials_missing` enum value to the `code/anyOf[subschema #1]/` response property for the response status `422`
  - added the new `credentials_missing` enum value to the `code/anyOf[subschema #1]/` response property for the response status `429`
  - added the new `credentials_missing` enum value to the `code/anyOf[subschema #1]/` response property for the response status `500`
  - added `subschema #1, subschema #2, subschema #3, subschema #4, subschema #5` to the response body `anyOf` list for the response status `401`
  - removed `subschema #1, subschema #2, subschema #3, subschema #4, subschema #5` from the response body `anyOf` list for the response status `401`
- **2026-10-05** `6118ba8e7f16`: 3 info
  - removed the pattern `^#[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$` from the request property `background_color_hex/anyOf[subschema #1]/`
  - removed the pattern `^#[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$` from the request property `dark_background_color_hex/anyOf[subschema #1]/`
  - removed the pattern `^https:\/\/[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*(:\d{1,5})?$` from the request property `allowed_hosts/anyOf[subschema #1]/items/`
- **2026-09-21** `bcf994d3682a`: 1 info
  - added the new optional request property `allowed_hosts`
- **2026-09-15** `9291e5369ab4`: 1 info
  - added the new optional request property `locales`
- **2026-09-09** `217c96dc9a29`: 41 breaking, 165 info
  - removed `subschema #1, subschema #2` from the `feature_gating` request property `anyOf` list
  - removed `subschema #1, subschema #2, subschema #3` from the `presentation_style` request property `anyOf` list
  - removed the enum value `EXTERNAL` of the request property `web_checkout_destination`
  - removed the enum value `IN_APP_BROWSER` of the request property `web_checkout_destination`
  - removed the enum value `PAYMENT_SHEET` of the request property `web_checkout_destination`
  - removed the enum value `PAYWALL` of the request property `web_checkout_destination`
  - removed the enum value `PAYWALL_APPLE_PAY` of the request property `web_checkout_destination`
  - removed the enum value `PAYWALL_EMBEDDED` of the request property `web_checkout_destination`
  - removed the enum value `always_eligible` of the request property `introductory_offer_eligibility`
  - removed the enum value `always_ineligible` of the request property `introductory_offer_eligibility`
  - removed the enum value `automatic` of the request property `introductory_offer_eligibility`
  - the `assets` request property type changed from `array` to no type
  - the `background_color_hex` request property type changed from `string` to no type
  - the `dark_background_color_hex` request property type changed from `string` to no type
  - the `game_controller_enabled` request property type changed from `boolean` to no type
  - the `introductory_offer_eligibility` request property type changed from `string` to no type
  - the `on_device_cache` request property type changed from `boolean` to no type
  - the `products` request property type changed from `array` to no type
  - the `scroll_enabled` request property type changed from `boolean` to no type
  - the `surface` request property type changed from `string` to no type
  - the `web_checkout_destination` request property type changed from `string` to no type
  - the `code` response's property type changed from `string` to no type for status `403`
  - the `code` response's property type changed from `string` to no type for status `404`
  - the `code` response's property type changed from `string` to no type for status `422`
  - the `code` response's property type changed from `string` to no type for status `429`
  - the `code` response's property type changed from `string` to no type for status `500`
  - the `doc_url` response's property type changed from `string` to no type for status `403`
  - the `doc_url` response's property type changed from `string` to no type for status `404`
  - the `message` response's property type changed from `string` to no type for status `404`
  - the `message` response's property type changed from `string` to no type for status `429`
  - the `message` response's property type changed from `string` to no type for status `500`
  - the `param` response's property type changed from `string` to no type for status `404`
  - the `required_scope` response's property type changed from `string` to no type for status `403`
  - the `resource_id` response's property type changed from `string` to no type for status `404`
  - the `resource_type` response's property type changed from `string` to no type for status `404`
  - the `retry_after` response's property type changed from `number` to no type for status `429`
  - the `type` response's property type changed from `string` to no type for status `403`
  - the `type` response's property type changed from `string` to no type for status `404`
  - the `type` response's property type changed from `string` to no type for status `422`
  - the `type` response's property type changed from `string` to no type for status `429`
  - …166 more
  - …this revision’s changelog is incomplete

---

[Operation](https://skmtc.dev/superwall/apis/superwall-api-v2/docs/v2/paywalls/:id/versions/post.md) - [API](https://skmtc.dev/superwall/apis/superwall-api-v2.md) - [Page](https://skmtc.dev/superwall/apis/superwall-api-v2/changes/v2/paywalls/:id/versions/post)
