---
title: "Create custom package type"
method: POST
path: "/v1/packages"
tags: ["package_types"]
---

# Create custom package type

`POST /v1/packages`

Create a custom package type to better assist in getting accurate rate estimates

## Request body

- CreatePackageTypeRequestBody — A custom package type for API requests. Requires custom_ prefix for package_code.
  - `package_id` string — A string that uniquely identifies a ShipEngine resource, such as a carrier, label, shipment, etc.
  - `package_code` string, required — A unique, user-defined identifier for the custom package type. Must start with "custom_".
  - `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 `200`

The request was a success.

- CreatePackageTypeResponseBody — A custom package type from API responses. May include UI-created packages without custom_ prefix.
  - `package_id` string — A string that uniquely identifies a ShipEngine resource, such as a carrier, label, shipment, etc.
  - `package_code` string, required — A unique identifier for the custom package type. API-created packages start with "custom_". UI-created packages may use other codes.
  - `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.

## Other responses

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

---

[API](https://skmtc.net/shipstation/apis/shipengine-api.md) · [All operations](https://skmtc.net/shipstation/apis/shipengine-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/shipstation/shipengine-api/revisions/8d8a7cf79204/schema)
