Skip to content

Release 1.165.2 - #3935

Merged
odlbot merged 6 commits into
releasefrom
release-candidate
Sep 9, 2026
Merged

odlbot merged 6 commits into
releasefrom
release-candidate

Conversation

@odlbot

@odlbot odlbot commented Sep 8, 2026 •

Copy link
Copy Markdown
Contributor

sentry[bot]

Dan Subak

Zaman Afzal

Chris Chudzicki

Tobias Macey

blarghmatey and others added 6 commits September 3, 2026 13:44
…#3923)

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Asad Ali <asad.ali@arbisoft.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown

OpenAPI Changes

Show/hide changes
## Changes for v0.yaml:
173 changes: 54 error, 46 warning, 73 info
error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/baskets/
		added the new `paid-amount-off` enum value to the `items/discounts/items/redeemed_discount/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/baskets/
		added the new `program-child-purchase` enum value to the `items/discounts/items/redeemed_discount/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v0/baskets/add_discount/
		added the new `paid-amount-off` enum value to the `discounts/items/redeemed_discount/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v0/baskets/add_discount/
		added the new `program-child-purchase` enum value to the `discounts/items/redeemed_discount/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v0/baskets/create_from_product/{product_id}/
		added the new `paid-amount-off` enum value to the `discounts/items/redeemed_discount/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v0/baskets/create_from_product/{product_id}/
		added the new `program-child-purchase` enum value to the `discounts/items/redeemed_discount/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v0/baskets/create_from_product/{product_id}/{discount_code}/
		added the new `paid-amount-off` enum value to the `discounts/items/redeemed_discount/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v0/baskets/create_from_product/{product_id}/{discount_code}/
		added the new `program-child-purchase` enum value to the `discounts/items/redeemed_discount/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v0/baskets/create_with_products/
		added the new `paid-amount-off` enum value to the `discounts/items/redeemed_discount/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v0/baskets/create_with_products/
		added the new `program-child-purchase` enum value to the `discounts/items/redeemed_discount/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/baskets/{id}/
		added the new `paid-amount-off` enum value to the `discounts/items/redeemed_discount/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/baskets/{id}/
		added the new `program-child-purchase` enum value to the `discounts/items/redeemed_discount/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/discounts/
		added the new `paid-amount-off` enum value to the `results/items/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/discounts/
		added the new `program-child-purchase` enum value to the `results/items/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v0/discounts/
		added the new `paid-amount-off` enum value to the `discount_type` response property for the response status `201`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v0/discounts/
		added the new `program-child-purchase` enum value to the `redemption_type` response property for the response status `201`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v0/discounts/create_batch/
		added the new `paid-amount-off` enum value to the `items/discount_type` response property for the response status `201`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v0/discounts/create_batch/
		added the new `program-child-purchase` enum value to the `items/redemption_type` response property for the response status `201`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/discounts/{id}/
		added the new `paid-amount-off` enum value to the `discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/discounts/{id}/
		added the new `program-child-purchase` enum value to the `redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PATCH /api/v0/discounts/{id}/
		added the new `paid-amount-off` enum value to the `discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PATCH /api/v0/discounts/{id}/
		added the new `program-child-purchase` enum value to the `redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PUT /api/v0/discounts/{id}/
		added the new `paid-amount-off` enum value to the `discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PUT /api/v0/discounts/{id}/
		added the new `program-child-purchase` enum value to the `redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/discounts/{parent_lookup_discount}/assignees/
		added the new `paid-amount-off` enum value to the `results/items/discount/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/discounts/{parent_lookup_discount}/assignees/
		added the new `program-child-purchase` enum value to the `results/items/discount/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v0/discounts/{parent_lookup_discount}/assignees/
		added the new `paid-amount-off` enum value to the `discount/discount_type` response property for the response status `201`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v0/discounts/{parent_lookup_discount}/assignees/
		added the new `program-child-purchase` enum value to the `discount/redemption_type` response property for the response status `201`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/discounts/{parent_lookup_discount}/assignees/{id}/
		added the new `paid-amount-off` enum value to the `discount/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/discounts/{parent_lookup_discount}/assignees/{id}/
		added the new `program-child-purchase` enum value to the `discount/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PATCH /api/v0/discounts/{parent_lookup_discount}/assignees/{id}/
		added the new `paid-amount-off` enum value to the `discount/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PATCH /api/v0/discounts/{parent_lookup_discount}/assignees/{id}/
		added the new `program-child-purchase` enum value to the `discount/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PUT /api/v0/discounts/{parent_lookup_discount}/assignees/{id}/
		added the new `paid-amount-off` enum value to the `discount/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PUT /api/v0/discounts/{parent_lookup_discount}/assignees/{id}/
		added the new `program-child-purchase` enum value to the `discount/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/discounts/{parent_lookup_discount}/products/
		added the new `paid-amount-off` enum value to the `results/items/discount/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/discounts/{parent_lookup_discount}/products/
		added the new `program-child-purchase` enum value to the `results/items/discount/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v0/discounts/{parent_lookup_discount}/products/
		added the new `paid-amount-off` enum value to the `discount/discount_type` response property for the response status `201`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v0/discounts/{parent_lookup_discount}/products/
		added the new `program-child-purchase` enum value to the `discount/redemption_type` response property for the response status `201`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/discounts/{parent_lookup_discount}/products/{id}/
		added the new `paid-amount-off` enum value to the `discount/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/discounts/{parent_lookup_discount}/products/{id}/
		added the new `program-child-purchase` enum value to the `discount/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PATCH /api/v0/discounts/{parent_lookup_discount}/products/{id}/
		added the new `paid-amount-off` enum value to the `discount/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PATCH /api/v0/discounts/{parent_lookup_discount}/products/{id}/
		added the new `program-child-purchase` enum value to the `discount/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PUT /api/v0/discounts/{parent_lookup_discount}/products/{id}/
		added the new `paid-amount-off` enum value to the `discount/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PUT /api/v0/discounts/{parent_lookup_discount}/products/{id}/
		added the new `program-child-purchase` enum value to the `discount/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/discounts/{parent_lookup_redeemed_discount}/redemptions/
		added the new `paid-amount-off` enum value to the `results/items/redeemed_discount/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/discounts/{parent_lookup_redeemed_discount}/redemptions/
		added the new `program-child-purchase` enum value to the `results/items/redeemed_discount/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v0/discounts/{parent_lookup_redeemed_discount}/redemptions/
		added the new `paid-amount-off` enum value to the `redeemed_discount/discount_type` response property for the response status `201`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v0/discounts/{parent_lookup_redeemed_discount}/redemptions/
		added the new `program-child-purchase` enum value to the `redeemed_discount/redemption_type` response property for the response status `201`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/discounts/{parent_lookup_redeemed_discount}/redemptions/{id}/
		added the new `paid-amount-off` enum value to the `redeemed_discount/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/discounts/{parent_lookup_redeemed_discount}/redemptions/{id}/
		added the new `program-child-purchase` enum value to the `redeemed_discount/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PATCH /api/v0/discounts/{parent_lookup_redeemed_discount}/redemptions/{id}/
		added the new `paid-amount-off` enum value to the `redeemed_discount/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PATCH /api/v0/discounts/{parent_lookup_redeemed_discount}/redemptions/{id}/
		added the new `program-child-purchase` enum value to the `redeemed_discount/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PUT /api/v0/discounts/{parent_lookup_redeemed_discount}/redemptions/{id}/
		added the new `paid-amount-off` enum value to the `redeemed_discount/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

error	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PUT /api/v0/discounts/{parent_lookup_redeemed_discount}/redemptions/{id}/
		added the new `program-child-purchase` enum value to the `redeemed_discount/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/discounts/{parent_lookup_redeemed_discount}/redemptions/
		added the new `paid-amount-off` enum value to the `results/items/redeemed_order/discounts/items/redeemed_discount/allOf[#/components/schemas/Nested]/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/discounts/{parent_lookup_redeemed_discount}/redemptions/
		added the new `program-child-purchase` enum value to the `results/items/redeemed_order/discounts/items/redeemed_discount/allOf[#/components/schemas/Nested]/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v0/discounts/{parent_lookup_redeemed_discount}/redemptions/
		added the new `paid-amount-off` enum value to the `redeemed_order/discounts/items/redeemed_discount/allOf[#/components/schemas/Nested]/discount_type` response property for the response status `201`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v0/discounts/{parent_lookup_redeemed_discount}/redemptions/
		added the new `program-child-purchase` enum value to the `redeemed_order/discounts/items/redeemed_discount/allOf[#/components/schemas/Nested]/redemption_type` response property for the response status `201`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/discounts/{parent_lookup_redeemed_discount}/redemptions/{id}/
		added the new `paid-amount-off` enum value to the `redeemed_order/discounts/items/redeemed_discount/allOf[#/components/schemas/Nested]/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/discounts/{parent_lookup_redeemed_discount}/redemptions/{id}/
		added the new `program-child-purchase` enum value to the `redeemed_order/discounts/items/redeemed_discount/allOf[#/components/schemas/Nested]/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PATCH /api/v0/discounts/{parent_lookup_redeemed_discount}/redemptions/{id}/
		added the new `paid-amount-off` enum value to the `redeemed_order/discounts/items/redeemed_discount/allOf[#/components/schemas/Nested]/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PATCH /api/v0/discounts/{parent_lookup_redeemed_discount}/redemptions/{id}/
		added the new `program-child-purchase` enum value to the `redeemed_order/discounts/items/redeemed_discount/allOf[#/components/schemas/Nested]/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PUT /api/v0/discounts/{parent_lookup_redeemed_discount}/redemptions/{id}/
		added the new `paid-amount-off` enum value to the `redeemed_order/discounts/items/redeemed_discount/allOf[#/components/schemas/Nested]/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PUT /api/v0/discounts/{parent_lookup_redeemed_discount}/redemptions/{id}/
		added the new `program-child-purchase` enum value to the `redeemed_order/discounts/items/redeemed_discount/allOf[#/components/schemas/Nested]/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/orders/receipt/{id}/
		added the new `paid-amount-off` enum value to the `discounts/items/redeemed_discount/allOf[#/components/schemas/Nested]/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/orders/receipt/{id}/
		added the new `program-child-purchase` enum value to the `discounts/items/redeemed_discount/allOf[#/components/schemas/Nested]/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/products/{id}/user_flexible_price/
		added the new `paid-amount-off` enum value to the `product_flexible_price/allOf[#/components/schemas/V0Discount]/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/products/{id}/user_flexible_price/
		added the new `program-child-purchase` enum value to the `product_flexible_price/allOf[#/components/schemas/V0Discount]/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v1/course_runs/
		added the new `paid-amount-off` enum value to the `items/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v1/course_runs/
		added the new `program-child-purchase` enum value to the `items/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v1/course_runs/{id}/
		added the new `paid-amount-off` enum value to the `products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v1/course_runs/{id}/
		added the new `program-child-purchase` enum value to the `products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v1/courses/
		added the new `paid-amount-off` enum value to the `results/items/courseruns/items/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v1/courses/
		added the new `program-child-purchase` enum value to the `results/items/courseruns/items/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v1/courses/{id}/
		added the new `paid-amount-off` enum value to the `courseruns/items/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v1/courses/{id}/
		added the new `program-child-purchase` enum value to the `courseruns/items/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v1/enrollments/
		added the new `paid-amount-off` enum value to the `items/run/allOf[#/components/schemas/V1CourseRunWithCourse]/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v1/enrollments/
		added the new `program-child-purchase` enum value to the `items/run/allOf[#/components/schemas/V1CourseRunWithCourse]/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v1/enrollments/
		added the new `paid-amount-off` enum value to the `run/allOf[#/components/schemas/V1CourseRunWithCourse]/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/discount_type` response property for the response status `201`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v1/enrollments/
		added the new `program-child-purchase` enum value to the `run/allOf[#/components/schemas/V1CourseRunWithCourse]/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/redemption_type` response property for the response status `201`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PATCH /api/v1/enrollments/{id}/
		added the new `paid-amount-off` enum value to the `run/allOf[#/components/schemas/V1CourseRunWithCourse]/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PATCH /api/v1/enrollments/{id}/
		added the new `program-child-purchase` enum value to the `run/allOf[#/components/schemas/V1CourseRunWithCourse]/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PUT /api/v1/enrollments/{id}/
		added the new `paid-amount-off` enum value to the `run/allOf[#/components/schemas/V1CourseRunWithCourse]/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PUT /api/v1/enrollments/{id}/
		added the new `program-child-purchase` enum value to the `run/allOf[#/components/schemas/V1CourseRunWithCourse]/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v1/program_enrollments/
		added the new `paid-amount-off` enum value to the `items/enrollments/items/run/allOf[#/components/schemas/V1CourseRunWithCourse]/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v1/program_enrollments/
		added the new `paid-amount-off` enum value to the `items/program/courses/allOf[#/components/schemas/V1CourseWithCourseRuns]/courseruns/items/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v1/program_enrollments/
		added the new `program-child-purchase` enum value to the `items/enrollments/items/run/allOf[#/components/schemas/V1CourseRunWithCourse]/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v1/program_enrollments/
		added the new `program-child-purchase` enum value to the `items/program/courses/allOf[#/components/schemas/V1CourseWithCourseRuns]/courseruns/items/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API DELETE /api/v1/program_enrollments/{id}/
		added the new `paid-amount-off` enum value to the `enrollments/items/run/allOf[#/components/schemas/V1CourseRunWithCourse]/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API DELETE /api/v1/program_enrollments/{id}/
		added the new `paid-amount-off` enum value to the `program/courses/allOf[#/components/schemas/V1CourseWithCourseRuns]/courseruns/items/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API DELETE /api/v1/program_enrollments/{id}/
		added the new `program-child-purchase` enum value to the `enrollments/items/run/allOf[#/components/schemas/V1CourseRunWithCourse]/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API DELETE /api/v1/program_enrollments/{id}/
		added the new `program-child-purchase` enum value to the `program/courses/allOf[#/components/schemas/V1CourseWithCourseRuns]/courseruns/items/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v1/program_enrollments/{id}/
		added the new `paid-amount-off` enum value to the `enrollments/items/run/allOf[#/components/schemas/V1CourseRunWithCourse]/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v1/program_enrollments/{id}/
		added the new `paid-amount-off` enum value to the `program/courses/allOf[#/components/schemas/V1CourseWithCourseRuns]/courseruns/items/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v1/program_enrollments/{id}/
		added the new `program-child-purchase` enum value to the `enrollments/items/run/allOf[#/components/schemas/V1CourseRunWithCourse]/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v1/program_enrollments/{id}/
		added the new `program-child-purchase` enum value to the `program/courses/allOf[#/components/schemas/V1CourseWithCourseRuns]/courseruns/items/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v1/programs/
		added the new `paid-amount-off` enum value to the `results/items/courses/allOf[#/components/schemas/V1CourseWithCourseRuns]/courseruns/items/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v1/programs/
		added the new `program-child-purchase` enum value to the `results/items/courses/allOf[#/components/schemas/V1CourseWithCourseRuns]/courseruns/items/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v1/programs/{id}/
		added the new `paid-amount-off` enum value to the `courses/allOf[#/components/schemas/V1CourseWithCourseRuns]/courseruns/items/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/discount_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

warning	[response-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v1/programs/{id}/
		added the new `program-child-purchase` enum value to the `courses/allOf[#/components/schemas/V1CourseWithCourseRuns]/courseruns/items/products/items/allOf[#/components/schemas/ProductFlexibilePrice]/product_flexible_price/allOf[#/components/schemas/Discount]/redemption_type` response property for the response status `200`
		The server may now return a value the previous contract excluded, so a client written against it may not handle the response. If the value set is meant to grow, declare it with x-extensible-enum. This compared the `allOf` branches one at a time, so another branch may still guarantee what this one dropped. Run with --flatten-allof to merge the branches and compare what they describe together.

info	[request-parameter-enum-value-added] at head/openapi/specs/v0.yaml
	in API GET /api/v0/discounts/
		added the new enum value `program-child-purchase` to the `query` request parameter `redemption_type`

info	[request-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v0/discounts/
		added the new `paid-amount-off` enum value to the request property `discount_type` (media type: application/x-www-form-urlencoded)

info	[request-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v0/discounts/
		added the new `paid-amount-off` enum value to the request property `discount_type` (media type: multipart/form-data)

info	[request-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v0/discounts/
		added the new `paid-amount-off` enum value to the request property `discount_type` (media type: application/json)

info	[request-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v0/discounts/
		added the new `program-child-purchase` enum value to the request property `redemption_type` (media type: multipart/form-data)

info	[request-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v0/discounts/
		added the new `program-child-purchase` enum value to the request property `redemption_type` (media type: application/x-www-form-urlencoded)

info	[request-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API POST /api/v0/discounts/
		added the new `program-child-purchase` enum value to the request property `redemption_type` (media type: application/json)

info	[request-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PATCH /api/v0/discounts/{id}/
		added the new `paid-amount-off` enum value to the request property `discount_type` (media type: application/json)

info	[request-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PATCH /api/v0/discounts/{id}/
		added the new `paid-amount-off` enum value to the request property `discount_type` (media type: multipart/form-data)

info	[request-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PATCH /api/v0/discounts/{id}/
		added the new `paid-amount-off` enum value to the request property `discount_type` (media type: application/x-www-form-urlencoded)

info	[request-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PATCH /api/v0/discounts/{id}/
		added the new `program-child-purchase` enum value to the request property `redemption_type` (media type: application/json)

info	[request-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PATCH /api/v0/discounts/{id}/
		added the new `program-child-purchase` enum value to the request property `redemption_type` (media type: multipart/form-data)

info	[request-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PATCH /api/v0/discounts/{id}/
		added the new `program-child-purchase` enum value to the request property `redemption_type` (media type: application/x-www-form-urlencoded)

info	[request-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PUT /api/v0/discounts/{id}/
		added the new `paid-amount-off` enum value to the request property `discount_type` (media type: multipart/form-data)

info	[request-property-enum-value-added] at head/openapi/specs/v0.yaml
	in API PUT /api/v0/discounts/{id}/
		added the new `paid-amount-off` enum value to the request property `discount_type` (media type: application/x-www-form-urlencoded)

info	[request-property-enum-value-added] at head/openapi/...*[Comment body truncated]*

Comment thread ecommerce/admin.py
Comment on lines +438 to +442
return HttpResponseRedirect(
reverse(
"admin:ecommerce_fulfilledorder_change", args=(order.id,)
)
)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The exception handler for a failed refund incorrectly redirects to the disabled ecommerce_fulfilledorder_change view instead of the changelist view.
Severity: LOW

Suggested Fix

Change the HttpResponseRedirect target in the exception block of AdminRefundOrderView.post() from reverse("admin:ecommerce_fulfilledorder_change", ...) to reverse("admin:ecommerce_fulfilledorder_changelist"). This will make it consistent with other error handling in the view. Also, add a test case to cover this exception path.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.

Location: ecommerce/admin.py#L438-L442

Potential issue: When a refund fails with an exception in `AdminRefundOrderView.post()`,
the user is redirected to the `ecommerce_fulfilledorder_change` page. However,
`FulfilledOrderAdmin` explicitly disables this view by setting `has_change_permission`
to `False`. This causes an unnecessary and confusing redirect sequence where the user is
sent to a forbidden page, which then likely redirects them to the changelist view. While
the error message is preserved, the initial redirect target is incorrect and
inconsistent with other error handling paths in the same view that correctly redirect to
the changelist. This exception handling path is also not covered by any tests.

Did we get this right? 👍 / 👎 to inform future reviews.

@odlbot
odlbot merged commit eab3ec3 into release Sep 9, 2026
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants