---
title: "Changes to Update Variant"
method: PATCH
path: "/v2/campaigns/{id}/audiences/{audience_id}/variants/{variant_id}"
---

# Changes to Update Variant

`PATCH /v2/campaigns/{id}/audiences/{audience_id}/variants/{variant_id}`

> Every recorded change to this endpoint, newest first.

## Timeline

Changed in 1 of 13 revisions.

- **2026-09-09** `217c96dc9a29` — 17 breaking, 98 info

## Changes

- **2026-09-09** `217c96dc9a29` — 17 breaking, 98 info
  - removed `subschema #1, subschema #2` from the `paywall` request property `anyOf` list
  - the `percentage` request property type changed from `number` 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 `429`
  - 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 `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 `429`
  - added `subschema #1` to the `paywall` request property `anyOf` list
  - added `subschema #1` to the `percentage` request property `anyOf` list
  - added `subschema #1, subschema #2` to the response body `anyOf` list 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`
  - added `subschema #2, subschema #3, subschema #4` to the response body `anyOf` list for the response status `400`
  - removed `subschema #1: Missing API Key, subschema #2: Invalid API Key Format, subschema #3: Invalid API Key, subschema #4: Authentication Failed, subschema #5: Invalid Session` from the response body `anyOf` list for the response status `401`
  - removed `subschema #1: Side Effect Execution Error, subschema #2: Internal Server Error` from the response body `anyOf` list for the response status `500`
  - removed `subschema #2: Bad Request, subschema #3: Invalid Variant Percentages, subschema #4: Invalid Paywall Reference` from the response body `anyOf` list for the response status `400`
  - added `subschema #1` to the `code` response property `anyOf` list for the response status `403`
  - added `subschema #1` to the `code` response property `anyOf` list for the response status `404`
  - added `subschema #1` to the `code` response property `anyOf` list for the response status `429`
  - added `subschema #1` to the `doc_url` response property `anyOf` list for the response status `403`
  - added `subschema #1` to the `doc_url` response property `anyOf` list for the response status `404`
  - added `subschema #1` to the `message` response property `anyOf` list for the response status `404`
  - added `subschema #1` to the `message` response property `anyOf` list for the response status `429`
  - added `subschema #1` to the `param` response property `anyOf` list for the response status `404`
  - added `subschema #1` to the `required_scope` response property `anyOf` list for the response status `403`
  - added `subschema #1` to the `resource_id` response property `anyOf` list for the response status `404`
  - added `subschema #1` to the `resource_type` response property `anyOf` list for the response status `404`
  - added `subschema #1` to the `retry_after` response property `anyOf` list for the response status `429`
  - added `subschema #1` to the `type` response property `anyOf` list for the response status `403`
  - added `subschema #1` to the `type` response property `anyOf` list for the response status `404`
  - added `subschema #1` to the `type` response property `anyOf` list for the response status `429`
  - …75 more
  - …this revision’s changelog is incomplete

---

[Operation](https://skmtc.dev/superwall/apis/superwall-api-v2/docs/v2/campaigns/:id/audiences/:audience_id/variants/:variant_id/patch.md) · [API](https://skmtc.dev/superwall/apis/superwall-api-v2.md) · [Page](https://skmtc.dev/superwall/apis/superwall-api-v2/changes/v2/campaigns/:id/audiences/:audience_id/variants/:variant_id/patch)
