---
title: "Cancel a shipment"
method: POST
path: "/shipments/{shipment_id}/cancel"
tags: ["Shipments"]
---

# Cancel a shipment

`POST /shipments/{shipment_id}/cancel`

Mark a shipment as cancelled. This is available where shipment status is: 1 - Pending Post or 2 - Pending Tracking. This will not post the shipment to the fulfillment connection and will reflect in a cancellation. In some cases, if the shipment status is 2 - Pending Tracking, you may be able to cancel within VRIO but the fulfillment provider has already shipped. Please confirm with the fulfillment provider for more details on handling cancelled shipments where they have already accepted the shipment

## Request body

- object
  - `cancel_type_id` null | 1 | 4 | 5 | 6, nullable — * `1` - Cannot afford * `4` - Did not understand * `5` - Not Satisfied * `6` - Accidentally ordered

## Response `200`

OK

- object
  - `shipment_id` integer
  - `connection_shipment_id` string, nullable
  - `customer_id` integer
  - `order_id` integer
  - `shipment_prepaid_cycle` integer
  - `shipment_status_id` 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 — * `1` - Pending Post * `2` - Pending Tracking * `3` - Cancelled * `4` - Shipped * `5` - Error * `6` - Delivered * `7` - Declined * `8` - Pending Transaction * `9` - Skipped
  - `transaction_charge_id` integer
  - `connection_id` integer, nullable
  - `fulfillment_id` string, nullable
  - `shipment_tracking_id` string, nullable
  - `carrier_id` null | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9, nullable — * `1` - USPS * `2` - UPS * `3` - FedEx * `4` - DHL eCommerce * `5` - UPS Mail Innovations * `6` - Canada Post * `8` - Australia Post * `9` - Hermes
  - `shipping_profile_id` integer, nullable
  - `date_cancel` string, date-time, nullable
  - `date_scheduled` string, date-time
  - `date_complete` string, date-time, nullable
  - `date_scan` string, date-time, nullable
  - `date_deliver` string, date-time, nullable
  - `date_return` string, date-time, nullable
  - `date_skip` string, date-time, nullable
  - `date_rma` string, date-time, nullable
  - `shipment_rma` string, nullable
  - `cancel_type_id` integer, nullable
  - `skip_type_id` integer, nullable
  - `shipping_reship_type_id` null | 1 | 2 | 3 | 4, nullable — * `1` - Did not receive package * `2` - Damaged Items * `3` - Items Incorrect * `4` - Quantity Incorrect
  - `shipment_parent_type_id` null | 1 | 2 | 3 | 4, nullable — * `1` - Reship * `2` - Reward * `3` - Gift * `4` - Free
  - `date_created` string, date-time
  - `created_by` integer
  - `date_modified` string, date-time
  - `modified_by` integer
  - `shipment_notes` string, nullable
  - `connection_request_text` string, nullable
  - `connection_response_text` string, nullable
  - `shipment_items` object[]
    - `shipment_item_id` integer
    - `quantity` integer
    - `item_id` integer
    - `item_name` string
    - `item_description` string, nullable
    - `item_additional_description` string, nullable
    - `item_image` string, nullable
    - `shipment_item_sku` string, nullable
    - `items_option_variation_id` integer, nullable
  - `customer_address_billing` object
    - `customer_address_id` integer
    - `fname` string
    - `lname` string
    - `organization` string
    - `address1` string
    - `address2` string
    - `city` string
    - `country` string
    - `state` string
    - `zipcode` string
    - `address_valid` boolean
    - `date_created` string, date-time
    - `date_modified` string, date-time
    - `created_by` integer
    - `modified_by` integer
  - `customer_address_shipping` object
    - `customer_address_id` integer
    - `fname` string
    - `lname` string
    - `organization` string
    - `address1` string
    - `address2` string
    - `city` string
    - `country` string
    - `state` string
    - `zipcode` string
    - `address_valid` boolean
    - `date_created` string, date-time
    - `date_modified` string, date-time
    - `created_by` integer
    - `modified_by` integer
  - `campaign` object
    - `campaign_id` integer
    - `campaign_name` string
  - `connection` object, nullable
    - `connection_id` integer
    - `connection_name` string
  - `tracking_history` object[]
    - `tracking_history_id` integer
    - `carrier_id` integer, nullable
    - `date` string, date-time, nullable
    - `category_id` integer, nullable
    - `category_name` string, nullable
    - `status_id` integer, nullable
    - `status_text` string, nullable
  - `actions` object
    - `can_change_address` boolean
    - `can_process` boolean
    - `can_reschedule` boolean
    - `can_rma` boolean
    - `can_skip` boolean
    - `can_swap` boolean
    - `can_unskip` boolean

## Other responses

- `400` — Error response
- `401` — Unauthorized response
- `403` — Forbidden response
- `500` — Error response

---

[API](https://skmtc.net/vrio/apis/crm-configuration.md) · [All operations](https://skmtc.net/vrio/apis/crm-configuration/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/vrio/crm-configuration/versions/62037010356e/schema)
