---
title: "Cancel a DropShipPurchaseOrder (async)"
method: POST
path: "/drop_ship_purchase_orders/cancel"
tags: ["Drop Ship Purchase Orders"]
---

# Cancel a DropShipPurchaseOrder (async)

`POST /drop_ship_purchase_orders/cancel`

## Request

- Base URL: `https://api.liftforward.com`
- URL: `https://api.liftforward.com/drop_ship_purchase_orders/cancel`
- Auth: API key in header `Api-Key`

Drop ship purchase orders can be canceled when fulfillment has not yet been processed. Canceling will
cancel the corresponding customer's subscription order items and all related payment authorizations. Drop
ship purchase orders remain open until they are fulfilled or canceled.

One of the following 2 unique identifiers for the drop ship purchase order must be provided:
- `merchant_drop_ship_purchase_order_id` - The merchant's unique identifier for the drop ship purchase order.
- `drop_ship_purchase_order_id` - The LiftForward unique identifier for the drop ship purchase order, as
  sent in the drop ship purchase order notification webhook.

When both are provided, the drop ship purchase order is looked up by `drop_ship_purchase_order_id` only.
A 404 response means none of the merchant's drop ship purchase orders matched the identifier at the time
of the request.

If the `items` parameter is omitted, all items in the drop ship purchase order will be canceled.

Some programs only support full cancellation of an order. If the `items` parameter is provided and
does not include all items in the order, a 422 error will be returned for those programs.

## Request body

- PostDropShipPurchaseOrdersCancel: Cancel a DropShipPurchaseOrder (async)
  - `drop_ship_purchase_order_cancel` DropShipPurchaseOrderCancel, required
    - `drop_ship_purchase_order_id` string: LiftForward's drop ship purchase order Id
    - `merchant_drop_ship_purchase_order_id` string: Merchant's drop ship purchase order Id which is customer displayable
    - `merchant_drop_ship_purchase_order_record_id` string: Merchant's record Id which can be different than the customer displayable `merchant_drop_ship_purchase_order_id`
    - `canceled_at` string, date-time, required: ISO 8601 timestamp when the order was canceled by the merchant (not related to when the API call was made)
    - `items` DropShipPurchaseOrderReturnItem[]: Items to cancel may be specified by SKU
      - `sku` string, required: Merchant's product SKU
      - `serial_number` string: Serial number of the device

## Response `201`

Cancel a DropShipPurchaseOrder (async)

- ApiAsyncResponse: ApiAsyncResponse model
  - `request_id` string, required: LiftForward's unique ID for a single API request
  - `code` string, required: HTTP response status code
  - `status` string, required: A value of 'success' is returned when status code in the 200 range. This action has been successfully completed or queued for processing and should be considered successful.
  - `message` string: Additional information about the status of the API request.
  - `request_url` string: The API endpoint that was called.
  - `request_parameters` object: Parameters submitted by the API call for confirmation.

## Other responses

- `400`: Invalid parameters
- `401`: Unauthorized
- `405`: Not Allowed
- `408`: Request Time Out
- `422`: Unprocessable
- `500`: Internal Service Error
- `503`: Service Unavailable

---

[API](https://skmtc.dev/liftforward/apis/device-as-a-service-merchant-apis-lift-daas-service-producti.md) - [All operations](https://skmtc.dev/liftforward/apis/device-as-a-service-merchant-apis-lift-daas-service-producti/llms.txt) - [OpenAPI document](https://skmtc.dev/liftforward/apis/device-as-a-service-merchant-apis-lift-daas-service-producti/revisions/5a1383ffd271?raw)
