---
title: "Update Custom Package Type By ID"
method: PUT
path: "/v1/packages/{package_id}"
tags: ["package_types"]
---

# Update Custom Package Type By ID

`PUT /v1/packages/{package_id}`

Update the custom package type object by ID

## Request body

- UpdatePackageTypeRequestBody — A package type that a carrier supports for shipment.
  - `package_id` string — A string that uniquely identifies a ShipEngine resource, such as a carrier, label, shipment, etc.
  - `package_code` string, required — A [package type](https://www.shipengine.com/docs/reference/list-carrier-packages/), such as `thick_envelope`, `small_flat_rate_box`, `large_package`, etc. Use the code `package` for custom or unknown package types.
  - `name` string, required
  - `dimensions` Dimensions — The dimensions of a package
    - `unit` 'inch' | 'centimeter', required — The dimension units that are supported by ShipEngine.
    - `length` number, required — The length of the package, in the specified unit
    - `width` number, required — The width of the package, in the specified unit
    - `height` number, required — The height of the package, in the specified unit
  - `description` string, nullable — Provides a helpful description for the custom package.

## Response `204`

The request was successful.

- string

## Other responses

- `400` — The request contained errors.
- `404` — The specified resource does not exist.
- `500` — An error occurred on ShipEngine's side. > This error will automatically be reported to our engineers.

## Changes

> 50 revisions in range; 1 could not be searched.

- **2024-10-08** `e4ae9b442f54` — 9 info
  - added the optional property `errors/items/allOf[subschema #1: error]/carrier_code` to the response with the `400` status
  - added the optional property `errors/items/allOf[subschema #1: error]/carrier_code` to the response with the `404` status
  - added the optional property `errors/items/allOf[subschema #1: error]/carrier_code` to the response with the `500` status
  - added the optional property `errors/items/allOf[subschema #1: error]/carrier_id` to the response with the `400` status
  - …5 more
- **2024-09-13** `5a15ef11fd60` — 21 warning
  - added the new `file_not_found` enum value to the `errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `400`
  - added the new `file_not_found` enum value to the `errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `404`
  - added the new `file_not_found` enum value to the `errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `500`
  - added the new `funding_source_error` enum value to the `errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `400`
  - …17 more
- …earlier changes not shown

[Full history](https://skmtc.dev/shipengine/apis/shipengine-api/changes/v1/packages/:package_id/put.md)

---

[API](https://skmtc.dev/shipengine/apis/shipengine-api.md) · [All operations](https://skmtc.dev/shipengine/apis/shipengine-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/shipengine/shipengine-api/revisions/6af91511d87e/schema)
