---
title: "Changes to Cancel a purchase"
method: POST
path: "/v1/sdk/purchases/{purchaseRef}/cancel"
---

# Changes to Cancel a purchase

`POST /v1/sdk/purchases/{purchaseRef}/cancel`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 16 of 33 revisions.

- **2026-09-30** `e13ee57d07a6`: 2 info
- **2026-09-18** `aacdf8ae7816`: 2 info
- **2026-08-13** `e356f6586bf2`: 4 warning
- **2026-08-05** `032545ac8d13`: 1 breaking, 4 warning, 3 info
- **2026-07-30** `8578b7536a9f`: 2 breaking, 2 info
- **2026-07-04** `a30b6aef464d`: 2 info
- **2026-04-26** `60c2cd1caf83`: 1 info
- **2026-04-14** `c6f97c4a5492`: 1 warning, 1 info
- **2026-04-14** `052cc028fdfa`: 1 breaking, 1 warning, 2 info
- **2026-04-14** `88abf6f50f11`: 4 info
- **2026-04-09** `7b327a22e3cb`: 1 breaking, 1 warning, 2 info
- **2026-04-07** `d69c95d790d2`: 1 breaking, 1 warning, 3 info
- **2026-03-25** `e0583a41987c`: 1 breaking, 23 info
- **2026-03-16** `9fd92a720973`: 13 breaking, 11 warning
- **2026-03-14** `0e1cded2ee5d`: 1 info
- **2026-02-27** `9079f361f51c`: 1 info

## Changes

- **2026-09-30** `e13ee57d07a6`: 2 info
  - added `#/components/schemas/SdkUsagePeriodDto` to the `purchase/usage` response property `allOf` list for the response status `200`
  - removed `#/components/schemas/UsageBillingDto` from the `purchase/usage` response property `allOf` list for the response status `200`
- **2026-09-18** `aacdf8ae7816`: 2 info
  - added the optional property `purchase/planRef` to the response with the `200` status
  - added the optional property `purchase/planSnapshot/allOf[#/components/schemas/SdkPlanSnapshotDto]/isMetered` to the response with the `200` status
- **2026-08-13** `e356f6586bf2`: 4 warning
  - removed the optional property `purchase/planSnapshot/allOf[#/components/schemas/SdkPlanSnapshotDto]/billingCycle` from the response with the `200` status
  - removed the optional property `purchase/planSnapshot/allOf[#/components/schemas/SdkPlanSnapshotDto]/includedUnits` from the response with the `200` status
  - removed the optional property `purchase/planSnapshot/allOf[#/components/schemas/SdkPlanSnapshotDto]/meterRef` from the response with the `200` status
  - removed the optional property `purchase/planSnapshot/allOf[#/components/schemas/SdkPlanSnapshotDto]/type` from the response with the `200` status
- **2026-08-05** `032545ac8d13`: 1 breaking, 4 warning, 3 info
  - removed the required property `purchase/planSnapshot/allOf[#/components/schemas/SdkPlanSnapshotDto]/planType` from the response with the `200` status
  - removed the optional property `purchase/planSnapshot/allOf[#/components/schemas/SdkPlanSnapshotDto]/creditsPerUnit` from the response with the `200` status
  - removed the optional property `purchase/planSnapshot/allOf[#/components/schemas/SdkPlanSnapshotDto]/freeUnits` from the response with the `200` status
  - removed the optional property `purchase/planSnapshot/allOf[#/components/schemas/SdkPlanSnapshotDto]/limit` from the response with the `200` status
  - removed the optional property `purchase/planSnapshot/allOf[#/components/schemas/SdkPlanSnapshotDto]/limits` from the response with the `200` status
  - added the optional property `purchase/planSnapshot/allOf[#/components/schemas/SdkPlanSnapshotDto]/includedUnits` to the response with the `200` status
  - added the optional property `purchase/planSnapshot/allOf[#/components/schemas/SdkPlanSnapshotDto]/options` to the response with the `200` status
  - added the optional property `purchase/planSnapshot/allOf[#/components/schemas/SdkPlanSnapshotDto]/type` to the response with the `200` status
- **2026-07-30** `8578b7536a9f`: 2 breaking, 2 info
  - the response property `purchase/customerEmail` became optional for the status `200`
  - the response property `purchase/productRef` became optional for the status `200`
  - added the optional property `purchase/origin` to the response with the `200` status
  - added the optional property `purchase/requiresPayment` to the response with the `200` status
- **2026-07-04** `a30b6aef464d`: 2 info
  - the endpoint scheme security `SecretKey` was added to the API
  - the endpoint scheme security `bearer` was removed from the API
- **2026-04-26** `60c2cd1caf83`: 1 info
  - added the optional property `purchase/planSnapshot/allOf[#/components/schemas/SdkPlanSnapshotDto]/name` to the response with the `200` status
- **2026-04-14** `c6f97c4a5492`: 1 warning, 1 info
  - removed the optional property `purchase/planSnapshot/allOf[#/components/schemas/SdkPlanSnapshotDto]/pricePerUnit` from the response with the `200` status
  - added the optional property `purchase/planSnapshot/allOf[#/components/schemas/SdkPlanSnapshotDto]/creditsPerUnit` to the response with the `200` status
- **2026-04-14** `052cc028fdfa`: 1 breaking, 1 warning, 2 info
  - removed the required property `purchase/id` from the response with the `200` status
  - removed the optional property `purchase/productId` from the response with the `200` status
  - added `#/components/schemas/SdkPlanSnapshotDto` to the `purchase/planSnapshot` response property `allOf` list for the response status `200`
  - removed `#/components/schemas/PlanSnapshotDto` from the `purchase/planSnapshot` response property `allOf` list for the response status `200`
- **2026-04-14** `88abf6f50f11`: 4 info
  - added the optional property `purchase/productId` to the response with the `200` status
  - added `#/components/schemas/PlanSnapshotDto` to the `purchase/planSnapshot` response property `allOf` list for the response status `200`
  - removed `#/components/schemas/SdkPlanSnapshotDto` from the `purchase/planSnapshot` response property `allOf` list for the response status `200`
  - added the required property `purchase/id` to the response with the `200` status
- **2026-04-09** `7b327a22e3cb`: 1 breaking, 1 warning, 2 info
  - removed the required property `purchase/id` from the response with the `200` status
  - removed the optional property `purchase/productId` from the response with the `200` status
  - added `#/components/schemas/SdkPlanSnapshotDto` to the `purchase/planSnapshot` response property `allOf` list for the response status `200`
  - removed `#/components/schemas/PlanSnapshotDto` from the `purchase/planSnapshot` response property `allOf` list for the response status `200`
- **2026-04-07** `d69c95d790d2`: 1 breaking, 1 warning, 3 info
  - the response property `purchase/planSnapshot` became optional for the status `200`
  - removed the optional property `purchase/isFreeTier` from the response with the `200` status
  - added the optional property `purchase/exchangeRate` to the response with the `200` status
  - added the optional property `purchase/metadata` to the response with the `200` status
  - added the optional property `purchase/originalAmount` to the response with the `200` status
- **2026-03-25** `e0583a41987c`: 1 breaking, 23 info
  - the `purchase` response's property type changed from no type to `object` for status `200`
  - added the optional property `purchase/autoRenew` to the response with the `200` status
  - added the optional property `purchase/billingCycle` to the response with the `200` status
  - added the optional property `purchase/cancellationReason` to the response with the `200` status
  - added the optional property `purchase/cancelledAt` to the response with the `200` status
  - added the optional property `purchase/endDate` to the response with the `200` status
  - added the optional property `purchase/isFreeTier` to the response with the `200` status
  - added the optional property `purchase/nextBillingDate` to the response with the `200` status
  - added the optional property `purchase/paidAt` to the response with the `200` status
  - added the optional property `purchase/productId` to the response with the `200` status
  - added the optional property `purchase/productName` to the response with the `200` status
  - added the optional property `purchase/usage` to the response with the `200` status
  - added the required property `purchase/amount` to the response with the `200` status
  - added the required property `purchase/createdAt` to the response with the `200` status
  - added the required property `purchase/currency` to the response with the `200` status
  - added the required property `purchase/customerEmail` to the response with the `200` status
  - added the required property `purchase/customerRef` to the response with the `200` status
  - added the required property `purchase/id` to the response with the `200` status
  - added the required property `purchase/isRecurring` to the response with the `200` status
  - added the required property `purchase/planSnapshot` to the response with the `200` status
  - added the required property `purchase/productRef` to the response with the `200` status
  - added the required property `purchase/reference` to the response with the `200` status
  - added the required property `purchase/startDate` to the response with the `200` status
  - added the required property `purchase/status` to the response with the `200` status
- **2026-03-16** `9fd92a720973`: 13 breaking, 11 warning
  - the `purchase` response's property type changed from `object` to no type for status `200`
  - removed the required property `purchase/amount` from the response with the `200` status
  - removed the required property `purchase/createdAt` from the response with the `200` status
  - removed the required property `purchase/currency` from the response with the `200` status
  - removed the required property `purchase/customerEmail` from the response with the `200` status
  - removed the required property `purchase/customerRef` from the response with the `200` status
  - removed the required property `purchase/id` from the response with the `200` status
  - removed the required property `purchase/isRecurring` from the response with the `200` status
  - removed the required property `purchase/planSnapshot` from the response with the `200` status
  - removed the required property `purchase/productRef` from the response with the `200` status
  - removed the required property `purchase/reference` from the response with the `200` status
  - removed the required property `purchase/startDate` from the response with the `200` status
  - removed the required property `purchase/status` from the response with the `200` status
  - removed the optional property `purchase/autoRenew` from the response with the `200` status
  - removed the optional property `purchase/billingCycle` from the response with the `200` status
  - removed the optional property `purchase/cancellationReason` from the response with the `200` status
  - removed the optional property `purchase/cancelledAt` from the response with the `200` status
  - removed the optional property `purchase/endDate` from the response with the `200` status
  - removed the optional property `purchase/isFreeTier` from the response with the `200` status
  - removed the optional property `purchase/nextBillingDate` from the response with the `200` status
  - removed the optional property `purchase/paidAt` from the response with the `200` status
  - removed the optional property `purchase/productId` from the response with the `200` status
  - removed the optional property `purchase/productName` from the response with the `200` status
  - removed the optional property `purchase/usage` from the response with the `200` status
- **2026-03-14** `0e1cded2ee5d`: 1 info
  - added the media type `application/json` for the response with the status `200`
- **2026-02-27** `9079f361f51c`: 1 info
  - endpoint added

---

[Operation](https://skmtc.dev/solvapay/apis/solvapay-rest-api/docs/v1/sdk/purchases/:purchaseRef/cancel/post.md) - [API](https://skmtc.dev/solvapay/apis/solvapay-rest-api.md) - [Page](https://skmtc.dev/solvapay/apis/solvapay-rest-api/changes/v1/sdk/purchases/:purchaseRef/cancel/post)
