---
title: "List all Shipments"
method: GET
path: "/2024-09/shipments"
tags: ["Shipments"]
---

# List all Shipments

`GET /2024-09/shipments`

Retrieve a list of shipments.

Required authorization scope: `public.shipment:read`

## Query parameters

- `page` integer
- `per_page` integer
- `easyship_shipment_id` string[]
- `platform_order_number` string
- `created_at_from` string
- `created_at_to` string
- `updated_at_from` string
- `updated_at_to` string
- `label_paid_at_from` string
- `label_paid_at_to` string
- `label_generated_at_from` string
- `label_generated_at_to` string
- `shipment_state` 'created' | 'cancelled'
- `label_state` string[]
- `pickup_state` string[]
- `delivery_state` string[]
- `warehouse_state` string[]
- `origin_country_alpha2` string[]
- `destination_country_alpha2` string[]
- `return` string

## Response `200`

list of shipments

- ShipmentList — List of shipments
  - `shipments` Shipment[]
    - `easyship_shipment_id` string — Readable identifier prefixed with ES (Easyship) and destination country code
    - `created_at` string, date-time — When the shipment record was created in the Easyship system
    - `updated_at` string, date-time — When the shipment record was most recently modified
    - `label_paid_at` string, date-time, nullable — When Easyship was paid for the shipment
    - `label_generated_at` string, date-time, nullable — When label was generated
    - `origin_address` object — Origin address
      - `line_1` string — First line of the street address
      - `line_2` string, nullable — Second line of the street address
      - `state` string, nullable — State, Province, or other top-level administrative region. Mandatory for these countries: AU, CA, CN, ID, MX, MY, TH, US, VN. Use abbreviations for naming the state if possible (2 letters for the US/CA, 2 or 3 letters for AU). For countries using provinces, use the full province names.
      - `city` string — City or Suburb
      - `postal_code` string — Postal code. Leave it null or 0 if the country does not have postal codes. Mandatory for these countries: AD, AF, AI, AL, AM, AQ, AR, AS, AT, AU, AX, AZ, BA, BB, BD, BE, BG, BL, BM, BN, BQ, BR, BT, BV, BY, CA, CC, CH, CL, CN, CO, CR, CU, CV, CX, CY, CZ, DE, DK, DO, DZ, EC, EE, EG, EH, ES, ET, FI, FK, FM, FO, FR, GA, GB, GE, GF, GG, GI, GL, GP, GR, GS, GT, GU, GW, HM, HN, HR, HT, HU, ID, IE, IL, IM, IN, IO, IQ, IR, IS, IT, JE, JO, JP, KG, KH, KR, KW, KY, KZ, LA, LB, LI, LK, LR, LS, LT, LU, LV, MA, MC, MD, ME, MF, MG, MH, MK, MM, MN, MP, MQ, MT, MV, MX, MY, MZ, NA, NC, NE, NF, NG, NI, NL, NO, NP, NZ, OM, PE, PF, PG, PH, PK, PL, PM, PN, PR, PS, PT, PW, PY, RE, RO, RS, RU, SD, SE, SG, SH, SI, SJ, SK, SM, SN, SS, SV, SX, SZ, TC, TD, TH, TJ, TM, TN, TR, TW, UA, UM, US, UY, UZ, VA, VC, VE, VG, VI, VN, WF, WS, YT, ZA, ZM.
      - `contact_name` string, nullable — The full name of a person at the address. Owner name will be used if not provided.
      - `contact_phone` string — Phone number used to reach the person in contact_name (may or may not be SMS-ready).
    - `sender_address` object — Sender address
      - `line_1` string — First line of the street address
      - `line_2` string, nullable — Second line of the street address
      - `state` string, nullable — State, Province, or other top-level administrative region. Mandatory for these countries: AU, CA, CN, ID, MX, MY, TH, US, VN. Use abbreviations for naming the state if possible (2 letters for the US/CA, 2 or 3 letters for AU). For countries using provinces, use the full province names.
      - `city` string — City or Suburb
      - `postal_code` string — Postal code. Leave it null or 0 if the country does not have postal codes. Mandatory for these countries: AD, AF, AI, AL, AM, AQ, AR, AS, AT, AU, AX, AZ, BA, BB, BD, BE, BG, BL, BM, BN, BQ, BR, BT, BV, BY, CA, CC, CH, CL, CN, CO, CR, CU, CV, CX, CY, CZ, DE, DK, DO, DZ, EC, EE, EG, EH, ES, ET, FI, FK, FM, FO, FR, GA, GB, GE, GF, GG, GI, GL, GP, GR, GS, GT, GU, GW, HM, HN, HR, HT, HU, ID, IE, IL, IM, IN, IO, IQ, IR, IS, IT, JE, JO, JP, KG, KH, KR, KW, KY, KZ, LA, LB, LI, LK, LR, LS, LT, LU, LV, MA, MC, MD, ME, MF, MG, MH, MK, MM, MN, MP, MQ, MT, MV, MX, MY, MZ, NA, NC, NE, NF, NG, NI, NL, NO, NP, NZ, OM, PE, PF, PG, PH, PK, PL, PM, PN, PR, PS, PT, PW, PY, RE, RO, RS, RU, SD, SE, SG, SH, SI, SJ, SK, SM, SN, SS, SV, SX, SZ, TC, TD, TH, TJ, TM, TN, TR, TW, UA, UM, US, UY, UZ, VA, VC, VE, VG, VI, VN, WF, WS, YT, ZA, ZM.
      - `contact_name` string, nullable — The full name of a person at the address. Owner name will be used if not provided.
      - `contact_phone` string — Phone number used to reach the person in contact_name (may or may not be SMS-ready).
    - `return_address` object — Return address
      - `line_1` string — First line of the street address
      - `line_2` string, nullable — Second line of the street address
      - `state` string, nullable — State, Province, or other top-level administrative region. Mandatory for these countries: AU, CA, CN, ID, MX, MY, TH, US, VN. Use abbreviations for naming the state if possible (2 letters for the US/CA, 2 or 3 letters for AU). For countries using provinces, use the full province names.
      - `city` string — City or Suburb
      - `postal_code` string — Postal code. Leave it null or 0 if the country does not have postal codes. Mandatory for these countries: AD, AF, AI, AL, AM, AQ, AR, AS, AT, AU, AX, AZ, BA, BB, BD, BE, BG, BL, BM, BN, BQ, BR, BT, BV, BY, CA, CC, CH, CL, CN, CO, CR, CU, CV, CX, CY, CZ, DE, DK, DO, DZ, EC, EE, EG, EH, ES, ET, FI, FK, FM, FO, FR, GA, GB, GE, GF, GG, GI, GL, GP, GR, GS, GT, GU, GW, HM, HN, HR, HT, HU, ID, IE, IL, IM, IN, IO, IQ, IR, IS, IT, JE, JO, JP, KG, KH, KR, KW, KY, KZ, LA, LB, LI, LK, LR, LS, LT, LU, LV, MA, MC, MD, ME, MF, MG, MH, MK, MM, MN, MP, MQ, MT, MV, MX, MY, MZ, NA, NC, NE, NF, NG, NI, NL, NO, NP, NZ, OM, PE, PF, PG, PH, PK, PL, PM, PN, PR, PS, PT, PW, PY, RE, RO, RS, RU, SD, SE, SG, SH, SI, SJ, SK, SM, SN, SS, SV, SX, SZ, TC, TD, TH, TJ, TM, TN, TR, TW, UA, UM, US, UY, UZ, VA, VC, VE, VG, VI, VN, WF, WS, YT, ZA, ZM.
      - `contact_name` string, nullable — The full name of a person at the address. Owner name will be used if not provided.
      - `contact_phone` string — Phone number used to reach the person in contact_name (may or may not be SMS-ready).
    - `destination_address` DestinationAddress
      - `line_1` string — First line of the street address
      - `line_2` string, nullable — Second line of the street address
      - `state` string, nullable — State, Province, or other top-level administrative region. Mandatory for these countries: AU, CA, CN, ID, MX, MY, TH, US, VN. Use abbreviations for naming the state if possible (2 letters for the US/CA, 2 or 3 letters for AU). For countries using provinces, use the full province names.
      - `city` string — City or Suburb
      - `postal_code` string — Postal code. Mandatory for most countries (if not applicable, for example Hong Kong, leave null or 0)
      - `country_alpha2` 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AN' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW' — Country Code in Alpha-2 format (ISO 3166-1)
      - `company_name` string, nullable — The company or organization at the address
      - `contact_name` string — The full name of a person at the address
      - `contact_phone` string — Phone number used to reach the person in contact_name (may or may not be SMS-ready)
      - `contact_email` string, email — Email address used to reach the person in `contact_name`
      - `delivery_instructions` string, nullable — Delivery instructions for the address, see [Delivery Instructions](https://developers.easyship.com/page/delivery-instructions).
    - `order_data` object — Free-form data related to the eCommerce platform
      - `platform_name` string, nullable — A display-ready sales channel or platform name
      - `platform_order_number` string, nullable — Order number that was either copied from an order synced from an ecommerce platform or manually edited in Easyship's order from
      - `order_created_at` string, date-time, nullable — When the order was created (e.g. in an online store connected to Easyship)
      - `order_tag_list` string[] — Tags that have been assigned to this shipment, either as an order on its e-commerce store or within the Easyship app
      - `seller_notes` string, nullable — Text added by the merchant. Will not be shown to the receiver.
      - `buyer_notes` string, nullable — Text added by the buyer during order checkout. Will be displayed on the packing slip.
      - `buyer_selected_courier_name` string, nullable — Courier name for shipping rule condition `match_buyer_selected_courier_name`. If the name matches, actions of this shipping rule would apply to the current shipment.
    - `last_failure_http_response_messages` object[] — This attribute stores the HTTP response of the most recent unsuccessful attempt to interact with an external service, such as a failed label creation.
      - `code` string, nullable
      - `content` string, nullable
    - `metadata` object — Set of key-value pairs that you can attach to a shipment. This can be useful for storing additional information about the object in a structured format
    - `set_as_residential` boolean — Indicates whether or not the user believes the receiver address qualifies for a residential surcharge.
    - `consignee_tax_id` string, nullable — Tax ID for the receiver. Maybe helpful or required for customs clearance, depending on the destination country.
    - `eei_reference` string, nullable — References data (Electronic Export Information) filed through one of the systems for goods shipped from the U.S. to a foreign country. Currently only used for FedEx shipments. The following possibilities may or may not qualify: * An Automated Export System (AES) citation * A Foreign Trade Regulations (FTR) exemption number * An International Traffic in Arms Reduction (ITAR) exemption code * A US Department of Commerce export license number
    - `regulatory_identifiers` object — Seller's identifiers for various tax, import and export regulations.
      - `eori` string, nullable — Economic Operators Registration and Identification (EORI) number.
      - `ioss` string, nullable — Import One Stop Shop (IOSS) number.
      - `vat_number` string, nullable — Value-Added Tax (VAT) number.
    - `buyer_regulatory_identifiers` object — Buyer's identifiers for various tax, import and export regulations.
      - `ein` string, nullable — Employer Identification Number (EIN) number.
      - `vat_number` string, nullable — Value-Added Tax (VAT) number.
      - `ssn` string, nullable — Social Security Number (SSN) number.
    - `return` boolean — Whether the shipment is a return shipment or not
    - `incoterms` 'DDU' | 'DDP' | 'null', nullable — Terms of Sale DDP: Seller pays all import duties/taxes. DDU: Buyer pays all import duties/taxes. null: No incoterm specified; defaults to DDU.
    - `insurance` object, nullable — Insurance
      - `is_insured` boolean — Indicates if premium insurance has been purchased for this shipment (either by the merchant or buyer). Basic, courier-supplied coverage is not applicable.
      - `insured_amount` number — Amount to insure with Easyship's insurance provider. If not specified, we'll use the sum of customs values and shipping cost.
      - `insured_currency` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SKK' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XAG' | 'XAU' | 'XCD' | 'XDR' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'BTC' | 'JEP' | 'EEK' | 'GHC' | 'MTL' | 'TMM' | 'YEN' | 'ZWD' | 'ZWL' | 'ZWN' | 'ZWR' — Insurance currency. ISO-4217 three-letter alphabetic currency code (e.g. USD, EUR, GBP). If not specified, we will use the currency of the account country.
    - `parcels` Parcel[] — Parcels
      - `id` string, uuid, nullable — ID of the parcel
      - `total_actual_weight` number — Total weight of the shipment, including the box weight. If you provide the total weight of the shipment, then the weight for items can be optional.
      - `box` Box — User-defined details of a box used for shipments
        - `id` string, uuid, nullable — ID
        - `courier` object, nullable
          - `umbrella_name` string — Human-readable name for the courier company that offers this service, when applicable.
          - `country_alpha2` 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AN' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW' — Country Code in Alpha-2 format (ISO 3166-1)
        - `name` string, nullable — Name
        - `slug` string, nullable — Slug
        - `outer_dimensions` object — A measure of the space taken by the box itself, in cm.
          - `length` number
          - `width` number
          - `height` number
        - `weight` number — The weight of the box's packaging materials (excluding items inside), in kg.
        - `type` string — Box type.
      - `items` ParcelItem[] — Array of all shipment items. May be empty for multi-parcel shipments (e.g. additional boxes).
        - `id` string, uuid — ID of the item
        - `description` string — Description of the item
        - `category` string, nullable — Item Category slug. Use the Item Categories API to retrieve a list of available item categories or use HS Code field.
        - `sku` string, nullable — Item Stock Keeping Unit (SKU) as listed in your store.
        - `platform_product_id` string, nullable — Platform Product ID (PPID). Unique identifier from your store platform (e.g. Shopify variant ID, WooCommerce product ID). Used to link shipment items to product catalog entries for auto-population of product attributes.
        - `manufacturer_part_number` string, nullable — Manufacturer Part Number (MPN). The manufacturer's internal code or part number for the product. Useful for wholesale and B2B operations to identify products by their source.
        - `global_trade_item_number` string, nullable — Global Trade Item Number (GTIN). Internationally recognized unique identifier for trade items, including UPC (US/Canada), EAN (Europe), JAN (Japan), and ISBN (books). Used by retailers and carriers for product identification and inventory tracking.
        - `hs_code` string, nullable — HS Code of the item
        - `origin_country_alpha2` 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AN' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW' | 'null', nullable — Country Code in Alpha-2 format (ISO 3166-1)
        - `contains_battery_pi966` boolean, nullable — Whether the item contains a PI966 battery (applicable when HS code is used).
        - `contains_battery_pi967` boolean, nullable — Whether the item contains a PI967 battery (applicable when HS code is used).
        - `contains_liquids` boolean, nullable — Whether the item contains liquids (applicable when HS code is used).
        - `quantity` integer — Item quantity
        - `dimensions` object — Dimensions of the item
          - `length` number — Item length; Optional if the Box dimensions are provided.
          - `width` number — Item width; Optional if the Box dimensions are provided.
          - `height` number — Item height; Optional if the Box dimensions are provided.
        - `actual_weight` number — Item actual weight in `kg`, must be greater than 0; Optional if `total_actual_weight` is provided.
        - `origin_currency` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SKK' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XAG' | 'XAU' | 'XCD' | 'XDR' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'BTC' | 'JEP' | 'EEK' | 'GHC' | 'MTL' | 'TMM' | 'YEN' | 'ZWD' | 'ZWL' | 'ZWN' | 'ZWR' — Item customs value currency. ISO-4217 three-letter alphabetic currency code (e.g. USD, EUR, GBP).
        - `origin_customs_value` number — Customs value of the item
        - `declared_currency` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SKK' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XAG' | 'XAU' | 'XCD' | 'XDR' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'BTC' | 'JEP' | 'EEK' | 'GHC' | 'MTL' | 'TMM' | 'YEN' | 'ZWD' | 'ZWL' | 'ZWN' | 'ZWR' — Currency of the item. ISO-4217 three-letter alphabetic currency code (e.g. USD, EUR, GBP).
        - `declared_customs_value` number — Item customs value, must be greater than 0 unless category is `documents`. Please note that this value refers to the unit rather than the total.
        - `coc_status` 'not_provided' | 'provided' | 'exempted' — Whether this item's CPSC (Consumer Product Safety Commission) compliance data has been provided.
        - `cpsc_eligible` boolean — Whether this item is subject to CPSC compliance rules (US import on a regulated category/HS code). Computed live against current rules on every read.
        - `cpsc_compliance` CpscCompliance, nullable — CPSC (Consumer Product Safety Commission) compliance data stored on this product. Required for certain regulated products (e.g. children's products, electronics, furniture, toys) shipped to the US from 8 July 2026. **Note:** fields are scoped to `coc_type` -- only fields relevant to the current path are ever non-null; see `coc_type`'s description below.
          - `id` string, uuid — CPSC compliance record ID
          - `coc_type` 'registered' | 'unregistered' | 'exempted', nullable — Defines the Certificate of Conformity (CoC) path. Your selection determines which fields are active (fields outside the selected group evaluate to `null`): - `registered`: certifier_identifier, version_identifier, product_identifier_type - `unregistered`: citation_code, certifier_identity, manufacturing_detail, manufacturing_date, testing_detail, laboratory, records_custodian, product_identifier_type - `exempted`: disclaim_code **Note on updates:** Changing the `coc_type` automatically clears all fields from the previous path. You must send the fields for the new path in the same request.
          - `certifier_identifier` string, nullable — CPSC Product Registry account ID. Applies to the registered path.
          - `version_identifier` string, nullable — CPSC Product Registry version ID. Applies to the registered path.
          - `citation_code` string, nullable — Applicable CPSC rule citation, e.g. "16 CFR 1500.3". Applies to the unregistered path.
          - `certifier_identity` string, nullable — Name and contact of the certifying entity. Applies to the unregistered path.
          - `manufacturing_detail` string, nullable — Place of manufacture. Applies to the unregistered path.
          - `manufacturing_date` string, date, nullable — Date of manufacture. Applies to the unregistered path.
          - `testing_detail` string, nullable — Description of testing performed. Applies to the unregistered path.
          - `laboratory` string, nullable — Testing laboratory name. Applies to the unregistered path.
          - `records_custodian` string, nullable — Records-keeper contact. Applies to the unregistered path.
          - `product_identifier_type` 'sku' | 'gtin', nullable — Whether product_identifier is a SKU or a GTIN. Applies to the registered and unregistered paths.
          - `product_identifier` string, nullable — Read-only. The product's SKU or GTIN value, derived from the product record according to product_identifier_type.
          - `disclaim_code` string, nullable — Exemption/disclaim basis code. Applies to the exempted path.
      - `tracking_number` string, nullable — Per-parcel tracking number assigned by the courier for multi-parcel shipments. Only present when the courier returns individual tracking numbers per parcel (FedEx, UPS, DHL, DPD GB). Null for single-parcel shipments or unsupported couriers.
    - `total_customs_value` number — Sum of the value assigned to all shipment line items
    - `total_actual_weight` number — Sum of the specified weights of all *parcels* in the shipment (`parcel.actual_weight`), as measured on a scale in units specified by `company.weight_unit`.
    - `shipment_state` 'created' | 'draft' | 'calculating' | 'cancelling' | 'cancelled' | 'discarded' | 'deleted' — The state of the shipment record within the Easyship system
    - `pickup_state` string — The state of the hand-over from shipper to courier. `pending_handover` applies only to eFulfillment companies.
    - `delivery_state` 'not_created' | 'pending' | 'info_received' | 'in_transit_to_customer' | 'out_for_delivery' | 'delivered' | 'failed_attempt' | 'exception' | 'expired' | 'lost_by_courier' | 'returned_to_shipper' — The state of the hand-over from courier to receiver.
    - `label_state` 'not_created' | 'pending' | 'generating' | 'generated' | 'printed' | 'failed' | 'technical_failed' | 'reported' | 'voided' | 'void_failed' — The state of the label(s) meant to be printed and attached to this shipment's parcels
    - `warehouse_state` 'none' | 'pending' | 'created' | 'failed' | 'packed' | 'cancelled' | 'cancelled_no_stock' | 'backorder_no_stock' | 'shipped' | 'returned' | 'awaiting_dispatch' — The state of the fulfillment process within the warehouse
    - `warehouse_code` string — Warehouse code (warehouse/eFulfilment only)
    - `original_easyship_shipment_id` EasyshipShipmentId — unresolved $ref
    - `trackings` ShipmentTracking[] — Sources of tracking data for this shipment
      - `tracking_number` string — Reference provided by the courier for this leg
      - `local_tracking_number` string, nullable — Local tracking number provided by DHL eCommerce
      - `alternate_tracking_number` string, nullable — Alternate tracking number provided by DHL eCommerce
      - `leg_number` integer — Sequential index of the different portions of the shipment's journey. If a shipment is passed to a new courier, it begins a new leg.
      - `handler` string — The service that is handling the tracking process
      - `tracking_state` 'created' | 'active' | 'pending' | 'completed' | 'overwritten_by_admin' — The current state of the tracking
    - `tracking_page_url` string — Tracking page URL
    - `shipping_documents` ShipmentDocument[] — Shipping documents
      - `category` string — Document category
      - `required` boolean — Whether the document is required
      - `format` string, nullable — Document format
      - `page_size` string, nullable — Page size
      - `base64_encoded_strings` string[] — Base64 encoded strings
      - `url` string, nullable — URL of the document
    - `currency` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SKK' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XAG' | 'XAU' | 'XCD' | 'XDR' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'BTC' | 'JEP' | 'EEK' | 'GHC' | 'MTL' | 'TMM' | 'YEN' | 'ZWD' | 'ZWL' | 'ZWN' | 'ZWR' — ISO-4217 three-letter alphabetic currency code (e.g. USD, EUR, GBP)
    - `courier_service` object, nullable — Selected courier service for this shipment. May be null if no service has been selected yet, or if the shipment was created without selecting a service. More information about the [courier service](https://developers.easyship.com/reference/courier_services_index)
      - `id` string, uuid
      - `name` string
      - `courier_id` string, uuid — The courier ID that the current courier service is associated with
      - `umbrella_name` string — Human-readable name for the courier company that offers this service.
      - `easyship_courier_service` EasyshipCourierService — unresolved $ref
    - `rates` Rate[] — Array of available courier services for this shipment, along with the rates charged. Courier services are excluded if the shipment's contents or destination do not meet each service's eligibility requirements.
      - `courier_service` RateCourierService — Courier Service for Rate
        - `id` string, uuid — unique identifier for a courier service
        - `name` string — Human-readable name for the courier service used in this rate.
        - `courier_id` string, uuid — The courier ID that the current courier service is associated with
        - `umbrella_name` string — Human-readable name for the courier company that offers this service.
        - `logo` LogoUrl — unresolved $ref
        - `easyship_courier_service` boolean, nullable — Whether the Courier Service belongs to Easyship or not.
      - `min_delivery_time` integer — The fastest estimate of delivery time for this courier service, in days.
      - `max_delivery_time` integer — The slowest estimate of delivery time for this courier service, in days.
      - `value_for_money_rank` number — Where this courier service ranks among the other offered options. 1 indicates the best value for money.
      - `delivery_time_rank` number — Where this courier service ranks among the other offered options, in minimum delivery time estimate; 1 indicates the fastest option.
      - `cost_rank` number — Where this courier service ranks among the other offered options, in total price; 1 indicates the best value for money.
      - `currency` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SKK' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XAG' | 'XAU' | 'XCD' | 'XDR' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'BTC' | 'JEP' | 'EEK' | 'GHC' | 'MTL' | 'TMM' | 'YEN' | 'ZWD' | 'ZWL' | 'ZWN' | 'ZWR' — ISO-4217 three-letter alphabetic currency code (e.g. USD, EUR, GBP)
      - `shipment_charge` number — Base cost of the courier service
      - `fuel_surcharge` number — A fee added by the courier when fuel costs are high
      - `remote_area_surcharge` number — Sum of the origin and destination base fees listed in `remote_area_surcharges`
      - `remote_area_surcharges` object, nullable — Origin and destination remote area surcharges
        - `origin` object
          - `name` string
          - `base` number
        - `destination` object
          - `name` string
          - `base` number
      - `other_surcharges` object, nullable — Other surcharges
        - `total_fee` number — Sum of the surcharge fees, in the currency specified for the shipment
        - `details` object[] — An array of individual surcharges being applied
          - `name` string — Surcharge name, in English, to be displayed to user
          - `fee` number — Surcharge fee in the currency of the shipment
          - `origin_fee` number — Surcharge fee in the currency of the shipment's origin country
      - `oversized_surcharge` number — A fee added by the courier when parcels exceed a specified threshold size or weight
      - `additional_services_surcharge` number — A fee added by the courier when additional services are added (e.g. delivery confirmation)
      - `residential_full_fee` number — A fee added by the courier when the receiver is at a residential address
      - `residential_discounted_fee` number — A discounted fee added by the courier when the receiver is at a residential address
      - `shipment_charge_total` number — Subtotal of `shipment_charge`, `fuel_surcharge`, `residential_*_fee`, `remote_area_surcharge`, `additional_services_surcharge`, & `oversized_surcharge`
      - `warehouse_handling_fee` number — A fee added by the fulfillment service for managing warehouse operations
      - `insurance_fee` number — The cost of the insurance policy purchased for this shipment
      - `sales_tax` number — National government taxes, calculated as a portion of the purchase price
      - `provincial_sales_tax` number — State, province, or local government taxes, calculated as a portion of the purchase price
      - `ddp_handling_fee` number, nullable — A fee added by the courier when they pay import taxes and duties on the sender's behalf. Null is returned when there is an insufficient subscription tier for feature taxes and duties.
      - `import_tax_charge` number, nullable — Import tax charge. Null is returned when there is an insufficient subscription tier for feature taxes and duties.
      - `import_tax_non_chargeable` number, nullable — Import tax non-chargeable. Null is returned when there is an insufficient subscription tier for feature taxes and duties.
      - `import_duty_charge` number, nullable — Import duty amount collected upfront with the shipment (DDP only). `0` for DDU shipments where the buyer pays duty at customs. Null when the subscription lacks taxes and duties or when `calculate_tax_and_duties` is false.
      - `total_charge` number — The sum of shipping_charge and all applicable fees for this shipment
      - `is_above_threshold` boolean, nullable — True if the purchase price exceeds the threshold set by the import country for customs charges. If `false`, `import_tax_charge`, `import_duty_charge`, `estimated_import_tax`, and `estimated_import_duty` should be zero.
      - `is_above_duty_threshold` boolean, nullable — True if the shipment value exceeds the import country's de minimis threshold for duty. Distinct from `is_above_threshold`, which covers the combined tax and duty threshold. May be `true` while `import_duty_charge` is `0` on DDU rates. Null when the subscription lacks taxes and duties or when `calculate_tax_and_duties` is false.
      - `import_duty_details` ImportDutyDetails[], nullable — Per line-item duty calculation breakdown in the rate's `currency`, including HS codes used, fallback flags, rates applied, and amounts. On DDU rates, amounts align with `estimated_import_duty`. On DDP rates, amounts align with `import_duty_charge`. Present when a duty calculation was performed, including when the duty amount is zero (e.g. FTA preferential rate). Null when the subscription lacks taxes and duties or when `calculate_tax_and_duties` is false. Only returned on the top-level rate object, not within `rates_in_origin_currency`.
        - `hs_code_provided` string, nullable — Raw HS code as provided in the request, before normalisation or fallback.
        - `hs_code_applied` string, nullable — HS code used to determine the duty rate after normalising to 10 digits and applying fallback, if any.
        - `subheading` boolean, nullable — True if a shorter parent subheading was used to determine the duty rate because no record existed for the full code.
        - `duty_origin_country_id_provided` integer, nullable — Country of origin ID explicitly provided on the item. Null when COO was not provided and fell back to the shipment origin.
        - `duty_origin_country_id_applied` integer, nullable — Country of origin ID actually used to determine the duty rate (either provided or the shipment origin fallback).
        - `duty_calculation_method` 'CIF' | 'FOB', nullable — Customs valuation method used for this destination.
        - `line_item_shipment_value` number, nullable — Shipment value used for duty calculation (customs value × quantity, plus allocated shipping and insurance for CIF destinations). Returned in the response currency.
        - `applied_rate_type` 'fta' | 'general', nullable — Whether the FTA preferential rate or the general rate was applied.
        - `additional_rates` ImportDutyAdditionalRate[], nullable — Additional duty surcharges applied on top of the base duty rate (e.g. anti-dumping duties, section tariffs).
          - `description` string, nullable — Description of the additional duty surcharge.
          - `rate` number, nullable — Additional duty rate as a decimal (e.g. `0.025` = 2.5%).
          - `amount` number, nullable — Computed additional duty amount for this surcharge in the response currency.
        - `base_duty_rate` number, nullable — Base duty rate as a decimal (e.g. `0.12` = 12%).
        - `base_duty_amount` number, nullable — Computed base duty amount for the line item in the response currency.
        - `line_item_total_duty` number, nullable — Total duty for the line item including base and all additional surcharges, in the response currency.
      - `incoterms` Incoterms — unresolved $ref
      - `estimated_import_tax` number, nullable — An estimate of import taxes that will be charged to the buyer when the shipment clears customs (only applicable for DDU incoterms). Null is returned when there is an insufficient subscription tier for feature taxes and duties.
      - `estimated_import_duty` number, nullable — An estimate of import duty that will be charged to the buyer when the shipment clears customs (only applicable for DDU incoterms). Null is returned when there is an insufficient subscription tier for feature taxes and duties.
      - `minimum_pickup_fee` number — The minimum fee applied for `paid_pickup` options, for this courier service
      - `available_handover_options` string[] — A list of one or more of `dropoff`, `free_pickup`, and `paid_pickup`
      - `tracking_rating` number — A characterization of the level of detail provided by the courier's tracking data. * -1 - No tracking number * 0 - Infrequent tracking events * 1 - Infrequent tracking events * 2 - Tracking main milestones with delivery confirmation * 3 - Tracking all steps of transit with delivery confirmation
      - `easyship_rating` number — Average of customer ratings of this courier service; provided by Easyship users and their buyers.
      - `courier_remarks` string, nullable — Additional details relevant to choosing the appropriate courier service
      - `payment_recipient` 'Easyship' | 'EasyshipPayOnScan' | 'Courier' — Who collects payment for this shipment (and when)
      - `discount` RateDiscount, nullable — A discount applied to the rate. Amount and percentage should not both be defined at the same time
        - `amount` number — A fixed amount to discount from the price
        - `origin_amount` number — Discount origin amount
      - `rates_in_origin_currency` object — Rates in origin currency
        - `currency` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SKK' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XAG' | 'XAU' | 'XCD' | 'XDR' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'BTC' | 'JEP' | 'EEK' | 'GHC' | 'MTL' | 'TMM' | 'YEN' | 'ZWD' | 'ZWL' | 'ZWN' | 'ZWR' — ISO-4217 three-letter alphabetic currency code (e.g. USD, EUR, GBP)
        - `shipment_charge` ShipmentCharge — unresolved $ref
        - `fuel_surcharge` FuelSurcharge — unresolved $ref
        - `remote_area_surcharge` RemoteAreaSurcharge — unresolved $ref
        - `additional_services_surcharge` AdditionalServicesSurcharge — unresolved $ref
        - `oversized_surcharge` OversizedSurcharge — unresolved $ref
        - `shipment_charge_total` ShipmentChargeTotal — unresolved $ref
        - `warehouse_handling_fee` WarehouseHandlingFee — unresolved $ref
        - `insurance_fee` InsuranceFee — unresolved $ref
        - `ddp_handling_fee` DdpHandlingFee — unresolved $ref
        - `import_tax_charge` ImportTaxCharge — unresolved $ref
        - `import_tax_non_chargeable` ImportTaxNonChargeable — unresolved $ref
        - `import_duty_charge` ImportDutyCharge — unresolved $ref
        - `residential_discounted_fee` ResidentialDiscountedFee — unresolved $ref
        - `residential_full_fee` ResidentialFullFee — unresolved $ref
        - `total_charge` TotalCharge — unresolved $ref
        - `estimated_import_tax` EstimatedImportTax — unresolved $ref
        - `estimated_import_duty` EstimatedImportDuty — unresolved $ref
        - `sales_tax` SalesTax — unresolved $ref
        - `provincial_sales_tax` ProvincialSalesTax — unresolved $ref
        - `minimum_pickup_fee` MinimumPickupFee — unresolved $ref
      - `description` string — Details that the user should know when preparing to hand over the shipment to the courier (e.g. pick-up or drop-off)
      - `full_description` string — Full description
    - `shipping_settings` object — Shipping settings
      - `b13a_filing` object, nullable — B13A filing (currently available only for FedEx)
        - `option` 'not_required' | 'fedex_to_stamp' | 'filed_electronically' | 'manually_attached' | 'summary_reporting'
        - `option_export_compliance_statement` string, nullable — Export compliance statement
        - `permit_number` string, nullable — Permit number
      - `label_customization_fields` LabelCustomizationFields — unresolved $ref
  - `meta` MetaWithPagination
    - `pagination` Pagination — Pagination
      - `next` integer, nullable
      - `count` integer, nullable — The total number of items. The `null` value is used with countless pagination (used for faster response on large datasets, like shipments).
      - `page` integer — Current page
    - `request_id` string — An unique ID represent the request.

## Other responses

- `422` — invalid filter param

---

[API](https://skmtc.net/easyship/apis/easyship-public-api.md) · [All operations](https://skmtc.net/easyship/apis/easyship-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/easyship/easyship-public-api/revisions/71d737a5fcbf/schema)
