---
title: "updatePackageStatus"
method: PATCH
path: "/externalFulfillment/2024-09-11/shipments/{shipmentId}/packages/{packageId}"
tags: ["External Fulfillment Shipping v2024-09-11"]
---

# updatePackageStatus

`PATCH /externalFulfillment/2024-09-11/shipments/{shipmentId}/packages/{packageId}`

Updates the status of the packages.

## Path parameters

- `shipmentId` string, required
- `packageId` string, required

## Query parameters

- `status` 'SHIPPED'

## Request body

- PackageDeliveryStatus — The delivery status of the package.
  - `status` PackageStatus — Current status and detailed tracking information for a shipping package throughout the delivery process.
    - `status` 'PENDING' | 'IN_TRANSIT' | 'SHIPPED' | 'DELIVERED' | 'CANCELLED' | 'UNDELIVERABLE', required — Primary status classification of the package in the shipping workflow.
    - `detailedStatus` string — Granular status information providing specific details about the package's current location and handling stage. **Possible values**: - `PENDING_SCHEDULE` (Package awaiting pickup scheduling) - `PENDING_PICK_UP` (Package ready for carrier collection from seller) - `PENDING_DROP_OFF` (Package awaiting seller delivery to carrier) - `LABEL_CANCELLED` (Shipping label canceled by seller) - `PICKED_UP` (Package collected by carrier from seller location) - `DROPPED_OFF` (Package delivered to carrier by seller) - `AT_ORIGIN_FC` (Package at originating fulfillment center) - `AT_DESTINATION_FC` (Package at destination fulfillment center) - `DELIVERED` (Package successfully delivered to recipient) - `REJECTED_BY_BUYER` (Package refused by intended recipient) - `UNDELIVERABLE` (Package cannot be delivered due to address or access issues) - `RETURNING_TO_SELLER` (Package in transit back to seller) - `RETURNED_TO_SELLER` (Package successfully returned to seller) - `LOST` (Package location unknown or confirmed lost) - `OUT_FOR_DELIVERY` (Package on delivery vehicle for final delivery) - `DAMAGED` (Package damaged during transit)
  - `subStatus` 'OUT_FOR_DELIVERY' | 'DELIVERED' | 'NOT_DELIVERED' | 'UNDELIVERABLE' — The sub-status of a package.
  - `reason` string — The reason for the sub-status.

## Response `204`

Success.

## Other responses

- `400` — Request has missing or invalid parameters and cannot be parsed.
- `403` — Indicates that access to the resource is forbidden. Possible reasons include Access Denied, Unauthorized, Expired Token, or Invalid Signature.
- `404` — The resource specified does not exist.
- `409` — The resource specified conflicts with the current state
- `413` — The request size exceeded the maximum accepted size.
- `415` — The request payload is in an unsupported format.
- `422` — Unprocessable Entity. Unable to process the contained instructions
- `429` — The frequency of requests was greater than allowed.
- `500` — An unexpected condition occurred that prevented the server from fulfilling the request.
- `503` — Temporary overloading or maintenance of the server.

---

[API](https://skmtc.net/aws-samples/apis/a-content-management-v2020-11-01.md) · [All operations](https://skmtc.net/aws-samples/apis/a-content-management-v2020-11-01/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aws-samples/a-content-management-v2020-11-01/revisions/815a5b6dbaa6/schema)
