---
title: "Purchase Label"
method: POST
path: "/v1/labels"
tags: ["labels"]
---

# Purchase Label

`POST /v1/labels`

Purchase and print a label for shipment

## Request body

- CreateLabelRequestBody — A label represents the physical sticker that you affix to a package to ship it. ShipEngine makes it easy for you to [create labels](https://www.shipengine.com/docs/labels/create-a-label/) and then download them in PDF, PNG, or ZPL format so you can print them.
  - `shipment` ShipmentRequest — The information necessary to ship a package, such as the origin, the destination, the carrier service, and the package dimensions and weight. > **Note:** Either `ship_from` or `warehouse_id` must be set.
    - `carrier_id` string, required — A string that uniquely identifies a ShipEngine resource, such as a carrier, label, shipment, etc.
    - `service_code` string, required — A [carrier service](https://www.shipengine.com/docs/shipping/use-a-carrier-service/), such as `fedex_ground`, `usps_first_class_mail`, `flat_rate_envelope`, etc.
    - `shipping_rule_id` string — A string that uniquely identifies a ShipEngine resource, such as a carrier, label, shipment, etc.
    - `external_order_id` string, nullable — ID that the Order Source assigned
    - `items` ShipmentItem[] — Describe the packages included in this shipment as related to potential metadata that was imported from external order sources
      - `name` string — item name
      - `sales_order_id` string, nullable — sales order id
      - `sales_order_item_id` string, nullable — sales order item id
      - `quantity` integer — The quantity of this item included in the shipment
      - `sku` string, nullable — Item Stock Keeping Unit
      - `bundle_sku` string, nullable — Item Stock Keeping Unit of the product bundle
      - `external_order_id` string, nullable — external order id
      - `external_order_item_id` string, nullable — external order item id
      - `asin` string, nullable — Amazon Standard Identification Number
      - `order_source_code` 'amazon_ca' | 'amazon_us' | 'brightpearl' | 'channel_advisor' | 'cratejoy' | 'ebay' | 'etsy' | 'jane' | 'groupon_goods' | 'magento' | 'paypal' | 'seller_active' | 'shopify' | 'stitch_labs' | 'squarespace' | 'three_dcart' | 'tophatter' | 'walmart' | 'woo_commerce' | 'volusion' — The order sources that are supported by ShipEngine
    - `tax_identifiers` TaxIdentifier[], nullable
      - `taxable_entity_type` 'shipper' | 'recipient' | 'ior', required — The taxable entity type for this tax item. Valid values include the following |Value |Description |:--------- |:----------------------------------------------------- |`shipper` | The shipper is responsible for this tax. |`recipient` | The recipient of the shipment is responsible for this tax. |`ior` | The importer of records is responsible for tax.
      - `identifier_type` 'vat' | 'eori' | 'ssn' | 'ein' | 'tin' | 'ioss' | 'pan' | 'voec' | 'pccc' | 'oss' | 'passport' | 'abn' | 'ukims', required — Tax identifier type for customs declaration |Pickup Type | Description |---------------|----------------------------------------- |`vat` | The tax identifier is a Value Added Tax. |`eori` | The tax identifier is an Economic Operators Registration and Identification Number (EORI). |`ssn` | The tax identifier is a Social Security Number. |`ein` | The tax identifier is an Employer Identification Number (EIN). |`tin` | The tax identifier is a Tax Identification Number (TIN). |`ioss` | The tax identifier is an Import One-Stop Shop (IOSS). |`pan` | The tax identifier is a Permanent Account Number (PAN). |`voec` | The tax identifier is a Norwegian VAT On E-Commerce(VOEC). |`pccc` | The tax identifier is a Personal Customs Clearance Code (PCCC). |`oss` | The tax identifier is an One-Stop Shop (OSS). |`passport` | The tax identifier is a Passport Number. |`abn` | The tax identifier is an Australian Business Number. |`ukims` | The tax identifier is an UK Internal Market Scheme number.
      - `issuing_authority` string, required — The authority that issued this tax. This must be a valid 2 character ISO 3166 Alpha 2 country code.
      - `value` string, required — The value of the identifier
    - `external_shipment_id` string, nullable — A unique user-defined key to identify a shipment. This can be used to retrieve the shipment. > **Warning:** The `external_shipment_id` is limited to 50 characters. Any additional characters will be truncated.
    - `shipment_number` string, nullable — A non-unique user-defined number used to identify a shipment. If undefined, this will match the external_shipment_id of the shipment. > **Warning:** The `shipment_number` is limited to 50 characters. Any additional characters will be truncated.
    - `ship_date` string, date-time — An [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string that represents a date, but not a specific time. The value _may_ contain a time component, but it will be set to `00:00:00` UTC by ShipEngine.
    - `ship_to` ShippingAddressTo, required — A complete or partial mailing address.
      - `name` string, required — The name of a contact person at this address. This field may be set instead of - or in addition to - the `company_name` field.
      - `phone` string — The phone number of a contact person at this address. The format of this phone number varies depending on the country.
      - `email` string, nullable — Email for the address owner.
      - `company_name` string, nullable — If this is a business address, then the company name should be specified here.
      - `address_line1` string, required — The first line of the street address. For some addresses, this may be the only line. Other addresses may require 2 or 3 lines.
      - `address_line2` string, nullable — The second line of the street address. For some addresses, this line may not be needed.
      - `address_line3` string, nullable — The third line of the street address. For some addresses, this line may not be needed.
      - `city_locality` string, required — The name of the city or locality
      - `state_province` string, required — The state or province. For some countries (including the U.S.) only abbreviations are allowed. Other countries allow the full name or abbreviation.
      - `postal_code` string, required — postal code
      - `country_code` string — A two-letter [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1)
      - `address_residential_indicator` 'unknown' | 'yes' | 'no' — Indicates whether an address is residential.
      - `instructions` string, nullable — Additional text about how to handle the shipment at this address.
      - `geolocation` object[]
        - `type` 'what3words' — Enum of available type of geolocation items: - 'what3words' functionality allows to specify a location by providing 3 words that have been assign to the specific location see [link](https://what3words.com/business) for more details.
        - `value` string — value of the geolocation item
    - `ship_from` ShippingAddressFrom — A complete or partial mailing address.
      - `name` string, required — The name of a contact person at this address. This field may be set instead of - or in addition to - the `company_name` field.
      - `phone` string, required — The phone number of a contact person at this address. The format of this phone number varies depending on the country.
      - `email` string, nullable — Email for the address owner.
      - `company_name` string, nullable — If this is a business address, then the company name should be specified here.
      - `address_line1` string, required — The first line of the street address. For some addresses, this may be the only line. Other addresses may require 2 or 3 lines.
      - `address_line2` string, nullable — The second line of the street address. For some addresses, this line may not be needed.
      - `address_line3` string, nullable — The third line of the street address. For some addresses, this line may not be needed.
      - `city_locality` string, required — The name of the city or locality
      - `state_province` string, required — The state or province. For some countries (including the U.S.) only abbreviations are allowed. Other countries allow the full name or abbreviation.
      - `postal_code` string, required — postal code
      - `country_code` string, required — A two-letter [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1)
      - `address_residential_indicator` 'unknown' | 'yes' | 'no' — Indicates whether an address is residential.
      - `instructions` string, nullable — Additional text about how to handle the shipment at this address.
    - `warehouse_id` string — A string that uniquely identifies a ShipEngine resource, such as a carrier, label, shipment, etc.
    - `return_to` ShippingAddress — A complete or partial mailing address.
      - `name` string, required — The name of a contact person at this address. This field may be set instead of - or in addition to - the `company_name` field.
      - `phone` string — The phone number of a contact person at this address. The format of this phone number varies depending on the country.
      - `email` string, nullable — Email for the address owner.
      - `company_name` string, nullable — If this is a business address, then the company name should be specified here.
      - `address_line1` string, required — The first line of the street address. For some addresses, this may be the only line. Other addresses may require 2 or 3 lines.
      - `address_line2` string, nullable — The second line of the street address. For some addresses, this line may not be needed.
      - `address_line3` string, nullable — The third line of the street address. For some addresses, this line may not be needed.
      - `city_locality` string, required — The name of the city or locality
      - `state_province` string, required — The state or province. For some countries (including the U.S.) only abbreviations are allowed. Other countries allow the full name or abbreviation.
      - `postal_code` string, required — postal code
      - `country_code` string — A two-letter [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1)
      - `address_residential_indicator` 'unknown' | 'yes' | 'no' — Indicates whether an address is residential.
      - `instructions` string, nullable — Additional text about how to handle the shipment at this address.
    - `is_return` boolean, nullable — An optional indicator if the shipment is intended to be a return. Defaults to false if not provided.
    - `confirmation` 'none' | 'delivery' | 'signature' | 'adult_signature' | 'direct_signature' | 'delivery_mailed' | 'verbal_confirmation' | 'delivery_code' | 'age_verification_16_plus' — The possible delivery confirmation values
    - `customs` InternationalShipmentOptions — Options for international shipments, such as customs declarations.
      - `contents` 'merchandise' | 'documents' | 'gift' | 'returned_goods' | 'sample' | 'other', required — The possible package contents values
      - `contents_explanation` string — Explanation for contents (required if the `contents` is provided as `other`)
      - `non_delivery` 'return_to_sender' | 'treat_as_abandoned', required — The possible non delivery values
      - `terms_of_trade_code` 'exw' | 'fca' | 'cpt' | 'cip' | 'dpu' | 'dap' | 'ddp' | 'fas' | 'fob' | 'cfr' | 'cif' | 'ddu' | 'daf' | 'deq' | 'des'
      - `declaration` string — Declaration statement to be placed on the commercial invoice
      - `invoice_additional_details` InvoiceAdditionalDetails — The additional information to put on commercial invoice
        - `freight_charge` MonetaryValue — A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
          - `currency` string, required — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
          - `amount` number, required — The monetary amount, in the specified currency.
        - `insurance_charge` MonetaryValue — A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
          - `currency` string, required — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
          - `amount` number, required — The monetary amount, in the specified currency.
        - `discount` MonetaryValue — A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
          - `currency` string, required — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
          - `amount` number, required — The monetary amount, in the specified currency.
        - `estimated_import_charges` EstimatedImportCharges — Estimated import charges for commercial invoices for international shipments.
          - `taxes` MonetaryValue — A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
            - `currency` string, required — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
            - `amount` number, required — The monetary amount, in the specified currency.
          - `duties` MonetaryValue — A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
            - `currency` string, required — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
            - `amount` number, required — The monetary amount, in the specified currency.
        - `other_charge` MonetaryValue — A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
          - `currency` string, required — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
          - `amount` number, required — The monetary amount, in the specified currency.
        - `other_charge_description` string — Description for the other charge (if provided).
        - `invoice_number` string — The invoice number to be used in the customs.
      - `importer_of_record` ImporterOfRecords — importer of records address, anywhere in the world.
        - `name` string, required — The name of a contact person at this address. Either `name` or the `company_name` field should always be set.
        - `phone` string — The phone number of a contact person at this address. The format of this phone number varies depending on the country.
        - `email` string, nullable — Email for the address owner.
        - `company_name` string, nullable — If this is a business address, then the company name should be specified here. Either `name` or the `company_name` field should always be set.
        - `address_line1` string, required — The first line of the street address. For some addresses, this may be the only line. Other addresses may require 2 or 3 lines.
        - `address_line2` string, nullable — The second line of the street address. For some addresses, this line may not be needed.
        - `address_line3` string, nullable — The third line of the street address. For some addresses, this line may not be needed.
        - `city_locality` string, required — The name of the city or locality
        - `state_province` string — The state or province. For some countries (including the U.S.) only abbreviations are allowed. Other countries allow the full name or abbreviation.
        - `postal_code` string, required — postal code
        - `country_code` string, required — A two-letter [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1)
      - `license_number` string — The license number to be used in the customs.
      - `certificate_number` string — The certificate number to be used in the customs.
      - `customs_items` CustomsItem[] — Customs declarations for each item in the shipment. (Please provide this information under `products` inside `packages`)
        - `customs_item_id` string, required — A string that uniquely identifies a ShipEngine resource, such as a carrier, label, shipment, etc.
        - `description` string, nullable — A description of the item
        - `quantity` integer — The quantity of this item in the shipment.
        - `value` number — The monetary amount, in the specified currency.
        - `value_currency` string — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
        - `weight` Weight — The weight of a package
          - `value` number, required — The weight, in the specified unit
          - `unit` 'pound' | 'ounce' | 'gram' | 'kilogram', required — The possible weight unit values
        - `harmonized_tariff_code` string, nullable — The [Harmonized Tariff Code](https://en.wikipedia.org/wiki/Harmonized_System) of this item.
        - `country_of_origin` string — A two-letter [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1)
        - `unit_of_measure` string, nullable
        - `sku` string, nullable — The SKU (Stock Keeping Unit) of the customs item
        - `sku_description` string, nullable — Description of the Custom Item's SKU
    - `advanced_options` AdvancedShipmentOptions — Advanced shipment options
      - `bill_to_account` string, nullable — This field is used to [bill shipping costs to a third party](https://www.shipengine.com/docs/shipping/bill-to-third-party/). This field must be used in conjunction with the `bill_to_country_code`, `bill_to_party`, and `bill_to_postal_code` fields.
      - `bill_to_country_code` string — A two-letter [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1)
      - `bill_to_party` 'recipient' | 'third_party' — The possible bill to party values
      - `bill_to_postal_code` string, nullable — The postal code of the third-party that is responsible for shipping costs.
      - `contains_alcohol` boolean — Indicates that the shipment contains alcohol.
      - `delivered_duty_paid` boolean — Indicates that the shipper is paying the international delivery duties for this shipment. This option is supported by UPS, FedEx, and DHL Express.
      - `dry_ice` boolean — Indicates if the shipment contain dry ice
      - `dry_ice_weight` Weight — The weight of a package
        - `value` number, required — The weight, in the specified unit
        - `unit` 'pound' | 'ounce' | 'gram' | 'kilogram', required — The possible weight unit values
      - `non_machinable` boolean — Indicates that the package cannot be processed automatically because it is too large or irregularly shaped. This is primarily for USPS shipments. See [Section 1.2 of the USPS parcel standards](https://pe.usps.com/text/dmm300/101.htm#ep1047495) for details.
      - `saturday_delivery` boolean — Enables Saturday delivery, if supported by the carrier.
      - `fedex_freight` object — Provide details for the Fedex freight service
        - `shipper_load_and_count` string
        - `booking_confirmation` string
      - `use_ups_ground_freight_pricing` boolean, nullable — Whether to use [UPS Ground Freight pricing](https://www.shipengine.com/docs/shipping/ups-ground-freight/). If enabled, then a `freight_class` must also be specified.
      - `freight_class` string, nullable — The National Motor Freight Traffic Association [freight class](http://www.nmfta.org/pages/nmfc?AspxAutoDetectCookieSupport=1), such as "77.5", "110", or "250".
      - `custom_field1` string, nullable — An arbitrary field that can be used to store information about the shipment.
      - `custom_field2` string, nullable — An arbitrary field that can be used to store information about the shipment.
      - `custom_field3` string, nullable — An arbitrary field that can be used to store information about the shipment.
      - `origin_type` 'pickup' | 'drop_off' — Indicates if the package will be picked up or dropped off by the carrier
      - `additional_handling` boolean, nullable — Indicate to the carrier that this shipment requires additional handling.
      - `shipper_release` boolean, nullable
      - `collect_on_delivery` CollectOnDelivery — Defer payment until package is delivered, instead of when it is ordered.
        - `payment_type` 'any' | 'cash' | 'cash_equivalent' | 'none' — Types of payment that are supported
        - `payment_amount` PaymentAmount
          - `currency` string — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
          - `amount` number
      - `third_party_consignee` boolean — Third Party Consignee option is a value-added service that allows the shipper to supply goods without commercial invoices being attached
      - `dangerous_goods` boolean — Indicates if the Dangerous goods are present in the shipment
      - `dangerous_goods_contact` object — Contact information for Dangerous goods
        - `name` string — Name of the contact
        - `phone` string — Phone number of the contact
      - `windsor_framework_details` object — The Windsor framework is a new regulation in the UK that simplifies customs procedures for goods moved from the UK mainland to Northern Ireland.
        - `movement_indicator` 'c2c' | 'b2c' | 'c2b' | 'b2b' — An indicator that will tell the carrier and HMRC the type of movement for the shipment.
        - `not_at_risk` boolean — An indicator that allows a shipper to declare the shipment as not-at-risk.
      - `license_number` string, nullable — license_number - This field was part of a historical implementation for passing customs-related data. For new integrations, please use the corresponding parameters within the shipment.customs object.
      - `invoice_number` string, nullable — invoice_number - This field was part of a historical implementation for passing customs-related data. For new integrations, please use the corresponding parameters within the shipment.customs object.
      - `certificate_number` string, nullable — certificate_number - This field was part of a historical implementation for passing customs-related data. For new integrations, please use the corresponding parameters within the shipment.customs object.
      - `fragile` boolean — Indicates that the contents of the package are fragile and should be handled with care.
      - `delivery-as-addressed` boolean — Instructs the carrier to deliver the package only to the exact address provided.
      - `return-after-first-attempt` boolean — Ensures the shipment is immediately flagged for return to the sender if the initial delivery attempt fails.
      - `regulated_content_type` 'day_old_poultry' | 'other_live_animal' — Indicates the category of goods in the shipment that is subject to special regulatory or compliance requirements.
    - `insurance_provider` 'none' | 'shipsurance' | 'carrier' | 'third_party' — The possible insurance provider values
    - `order_source_code` 'amazon_ca' | 'amazon_us' | 'brightpearl' | 'channel_advisor' | 'cratejoy' | 'ebay' | 'etsy' | 'jane' | 'groupon_goods' | 'magento' | 'paypal' | 'seller_active' | 'shopify' | 'stitch_labs' | 'squarespace' | 'three_dcart' | 'tophatter' | 'walmart' | 'woo_commerce' | 'volusion' — The order sources that are supported by ShipEngine
    - `packages` Package[], required — The packages in the shipment. > **Note:** Some carriers only allow one package per shipment. If you attempt to create a multi-package shipment for a carrier that doesn't allow it, an error will be returned.
      - `shipment_package_id` string — A string that uniquely identifies a ShipEngine resource, such as a carrier, label, shipment, etc.
      - `package_id` string — A string that uniquely identifies a ShipEngine resource, such as a carrier, label, shipment, etc.
      - `package_code` string — 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.
      - `package_name` string — The name of the of the [package type](https://www.shipengine.com/docs/reference/list-carrier-packages/)
      - `weight` Weight, required — The weight of a package
        - `value` number, required — The weight, in the specified unit
        - `unit` 'pound' | 'ounce' | 'gram' | 'kilogram', required — The possible weight unit values
      - `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
      - `insured_value` MonetaryValue — A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
        - `currency` string, required — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
        - `amount` number, required — The monetary amount, in the specified currency.
      - `label_messages` LabelMessages — Custom messages to print on the shipping label for the package. These are typically used to print invoice numbers, product numbers, or other internal reference numbers. Not all carriers support label messages. The number of lines and the maximum length of each line also varies by carrier. |Carrier |Max lines |Max line length |-------------------|----------|-------------------- |USPS (Stamps.com) |3 |60 |FedEx |3 |35 for the first line. 30 for additional lines. |UPS |2 |35 |OnTrac |2 |25
        - `reference1` string, nullable, required — The first line of the custom label message. Some carriers may prefix this line with something like "REF", "Reference", "Trx Ref No.", etc.
        - `reference2` string, nullable, required — The second line of the custom label message. Some carriers may prefix this line with something like "INV", "Reference 2", "Trx Ref No.", etc.
        - `reference3` string, nullable, required — The third line of the custom label message. Some carriers may prefix this line with something like "PO", "Reference 3", etc.
      - `external_package_id` string — An external package id.
      - `tracking_number` string — A tracking number for a package. The format depends on the carrier.
      - `content_description` string, nullable — A short description of the package content. Required for shipments moving to, from, and through Mexico.
      - `products` Products[] — Details about products inside packages (Information provided would be used on custom documentation)
        - `description` string, nullable — A description of the item
        - `quantity` integer — The quantity of this item in the shipment.
        - `value` MonetaryValue — A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
          - `currency` string, required — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
          - `amount` number, required — The monetary amount, in the specified currency.
        - `weight` Weight — The weight of a package
          - `value` number, required — The weight, in the specified unit
          - `unit` 'pound' | 'ounce' | 'gram' | 'kilogram', required — The possible weight unit values
        - `harmonized_tariff_code` string, nullable — The [Harmonized Tariff Code](https://en.wikipedia.org/wiki/Harmonized_System) of this item.
        - `country_of_origin` string — A two-letter [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1)
        - `unit_of_measure` string, nullable
        - `sku` string, nullable — The SKU (Stock Keeping Unit) of the item
        - `sku_description` string, nullable — Description of the Custom Item's SKU
        - `mid_code` string, nullable — Manufacturers Identification code
        - `product_url` string, nullable — link to the item on the seller website
        - `vat_rate` number, nullable — VAT rate applicable to the item
        - `dangerous_goods` DangerousGoods[] — Details about dangerous goods inside products
          - `id_number` string, nullable — UN number to identify the dangerous goods.
          - `shipping_name` string, nullable — Trade description of the dangerous goods.
          - `technical_name` string, nullable — Recognized Technical or chemical name of dangerous goods.
          - `product_class` string, nullable — Dangerous goods product class based on regulation.
          - `product_class_subsidiary` string, nullable — A secondary of product class for substances presenting more than one particular hazard
          - `packaging_group` 'i' | 'ii' | 'iii'
          - `dangerous_amount` DangerousAmount — This model represents the amount of the dangerous goods..
            - `amount` number — The amount of dangerous goods.
            - `unit` string, nullable — The unit of dangerous goods.
          - `quantity` integer — Quantity of dangerous goods.
          - `packaging_instruction` string, nullable — The specific standardized packaging instructions from the relevant regulatory agency that have been applied to the parcel/container.
          - `packaging_instruction_section` 'section_1' | 'section_2' | 'section_1a' | 'section_1b'
          - `packaging_type` string, nullable — The type of exterior packaging used to contain the dangerous good.
          - `transport_mean` 'ground' | 'water' | 'cargo_aircraft_only' | 'passenger_aircraft'
          - `transport_category` string, nullable — Transport category assign to dangerous goods for the transport purpose.
          - `regulation_authority` string, nullable — Name of the regulatory authority.
          - `regulation_level` 'lightly_regulated' | 'fully_regulated' | 'limited_quantities' | 'excepted_quantity'
          - `radioactive` boolean, nullable — Indication if the substance is radioactive.
          - `reportable_quantity` boolean, nullable — Indication if the substance needs to be reported to regulatory authority based on the quantity.
          - `tunnel_code` string, nullable — Defines which types of tunnels the shipment is allowed to go through
          - `additional_description` string, nullable — Provider additonal description regarding the dangerous goods. This is used as a placed holder to provider additional context and varies by carrier
        - `extended_details` object — Additional details about products
    - `comparison_rate_type` string, nullable — Calculate a rate for this shipment with the requested carrier using a ratecard that differs from the default. Only supported for UPS and USPS.
  - `is_return_label` boolean — Indicates whether this is a return label. You may also want to set the `rma_number` so you know what is being returned.
  - `rma_number` string, nullable — An optional Return Merchandise Authorization number. This field is useful for return labels. You can set it to any string value.
  - `charge_event` 'carrier_default' | 'on_creation' | 'on_carrier_acceptance' — Determines when the user's account will be charged for the label.
  - `outbound_label_id` string — A string that uniquely identifies a ShipEngine resource, such as a carrier, label, shipment, etc.
  - `test_label` boolean — Indicate if this label is being used only for testing purposes. If true, then no charge will be added to your account.
  - `validate_address` 'no_validation' | 'validate_only' | 'validate_and_clean' — The possible validate address values
  - `label_download_type` 'url' | 'inline' — There are two different ways to [download a label](https://www.shipengine.com/docs/labels/downloading/): |Label Download Type | Description |--------------------|------------------------------ |`url` |You will receive a URL, which you can use to download the label in a separate request. The URL will remain valid for 90 days. |`inline` |You will receive the Base64-encoded label as part of the response. No need for a second request to download the label.
  - `label_format` 'pdf' | 'png' | 'zpl' — The possible file formats in which shipping labels can be downloaded. We recommend `pdf` format because it is supported by all carriers, whereas some carriers do not support the `png` or `zpl` formats. |Label Format | Supported Carriers |--------------|----------------------------------- |`pdf` | All carriers |`png` | `fedex` <br> `stamps_com` <br> `ups` <br> `usps` |`zpl` | `access_worldwide` <br> `apc` <br> `asendia` <br> `dhl_global_mail` <br> `dhl_express` <br> `dhl_express_australia` <br> `dhl_express_canada` <br> `dhl_express_worldwide` <br> `dhl_express_uk` <br> `dpd` <br> `endicia` <br> `fedex` <br> `fedex_uk` <br> `firstmile` <br> `imex` <br> `newgistics` <br> `ontrac` <br> `rr_donnelley` <br> `stamps_com` <br> `ups` <br> `usps`
  - `display_scheme` 'label' | 'paperless' | 'label_and_paperless' — The display format that the label should be shown in.
  - `label_layout` '4x6' | 'letter' | 'A4' | 'A6' — The available layouts (sizes) in which shipping labels can be downloaded. The label format determines which sizes are supported. `4x6` is supported for all label formats, whereas `letter` (8.5" x 11") is only supported for `pdf` format.
  - `label_image_id` string — Used to identify an image resource.

## Response `200`

The requested object creation was a success.

- CreateLabelResponseBody — A label represents the physical sticker that you affix to a package to ship it. ShipEngine makes it easy for you to [create labels](https://www.shipengine.com/docs/labels/create-a-label/) and then download them in PDF, PNG, or ZPL format so you can print them.
  - `label_id` string — A string that uniquely identifies a ShipEngine resource, such as a carrier, label, shipment, etc.
  - `status` 'processing' | 'completed' | 'error' | 'voided' — The possible statuses that a [shipping label](https://www.shipengine.com/docs/labels/create-a-label/) can be in. |Status |Description |:------------|:----------------------------------------------------- |`processing` |When labels are created in a [batch](https://www.shipengine.com/docs/labels/bulk/), it may take a few minutes for all of the labels in the batch to be created. During this period, they will be in `processing` status. |`completed` |The label was successfully created |`error` |The label could not be created due to an error, such as an invalid delivery address |`voided` |The label has been [voided](https://www.shipengine.com/docs/labels/voiding/)
  - `shipment_id` string — A string that uniquely identifies a ShipEngine resource, such as a carrier, label, shipment, etc.
  - `external_shipment_id` string, nullable — A unique user-defined key to identify a shipment. This can be used to retrieve the shipment.
  - `external_order_id` string, nullable — ID that the Order Source assigned
  - `shipment` Shipment — The information necessary to ship a package, such as the origin, the destination, the carrier service, and the package dimensions and weight.
    - `shipment_id` string — A string that uniquely identifies a ShipEngine resource, such as a carrier, label, shipment, etc.
    - `carrier_id` string — A string that uniquely identifies a ShipEngine resource, such as a carrier, label, shipment, etc.
    - `service_code` string — A [carrier service](https://www.shipengine.com/docs/shipping/use-a-carrier-service/), such as `fedex_ground`, `usps_first_class_mail`, `flat_rate_envelope`, etc.
    - `shipping_rule_id` string — A string that uniquely identifies a ShipEngine resource, such as a carrier, label, shipment, etc.
    - `external_order_id` string, nullable — ID that the Order Source assigned
    - `items` ShipmentItem[] — Describe the packages included in this shipment as related to potential metadata that was imported from external order sources
      - `name` string — item name
      - `sales_order_id` string, nullable — sales order id
      - `sales_order_item_id` string, nullable — sales order item id
      - `quantity` integer — The quantity of this item included in the shipment
      - `sku` string, nullable — Item Stock Keeping Unit
      - `bundle_sku` string, nullable — Item Stock Keeping Unit of the product bundle
      - `external_order_id` string, nullable — external order id
      - `external_order_item_id` string, nullable — external order item id
      - `asin` string, nullable — Amazon Standard Identification Number
      - `order_source_code` 'amazon_ca' | 'amazon_us' | 'brightpearl' | 'channel_advisor' | 'cratejoy' | 'ebay' | 'etsy' | 'jane' | 'groupon_goods' | 'magento' | 'paypal' | 'seller_active' | 'shopify' | 'stitch_labs' | 'squarespace' | 'three_dcart' | 'tophatter' | 'walmart' | 'woo_commerce' | 'volusion' — The order sources that are supported by ShipEngine
    - `tax_identifiers` TaxIdentifier[], nullable
      - `taxable_entity_type` 'shipper' | 'recipient' | 'ior', required — The taxable entity type for this tax item. Valid values include the following |Value |Description |:--------- |:----------------------------------------------------- |`shipper` | The shipper is responsible for this tax. |`recipient` | The recipient of the shipment is responsible for this tax. |`ior` | The importer of records is responsible for tax.
      - `identifier_type` 'vat' | 'eori' | 'ssn' | 'ein' | 'tin' | 'ioss' | 'pan' | 'voec' | 'pccc' | 'oss' | 'passport' | 'abn' | 'ukims', required — Tax identifier type for customs declaration |Pickup Type | Description |---------------|----------------------------------------- |`vat` | The tax identifier is a Value Added Tax. |`eori` | The tax identifier is an Economic Operators Registration and Identification Number (EORI). |`ssn` | The tax identifier is a Social Security Number. |`ein` | The tax identifier is an Employer Identification Number (EIN). |`tin` | The tax identifier is a Tax Identification Number (TIN). |`ioss` | The tax identifier is an Import One-Stop Shop (IOSS). |`pan` | The tax identifier is a Permanent Account Number (PAN). |`voec` | The tax identifier is a Norwegian VAT On E-Commerce(VOEC). |`pccc` | The tax identifier is a Personal Customs Clearance Code (PCCC). |`oss` | The tax identifier is an One-Stop Shop (OSS). |`passport` | The tax identifier is a Passport Number. |`abn` | The tax identifier is an Australian Business Number. |`ukims` | The tax identifier is an UK Internal Market Scheme number.
      - `issuing_authority` string, required — The authority that issued this tax. This must be a valid 2 character ISO 3166 Alpha 2 country code.
      - `value` string, required — The value of the identifier
    - `external_shipment_id` string, nullable — A unique user-defined key to identify a shipment. This can be used to retrieve the shipment. > **Warning:** The `external_shipment_id` is limited to 50 characters. Any additional characters will be truncated.
    - `shipment_number` string, nullable — A non-unique user-defined number used to identify a shipment. If undefined, this will match the external_shipment_id of the shipment. > **Warning:** The `shipment_number` is limited to 50 characters. Any additional characters will be truncated.
    - `ship_date` string, date-time — An [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string that represents a date, but not a specific time. The value _may_ contain a time component, but it will be set to `00:00:00` UTC by ShipEngine.
    - `created_at` string, date-time — An [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string that represents a date and time.
    - `modified_at` string, date-time — An [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string that represents a date and time.
    - `shipment_status` 'pending' | 'processing' | 'label_purchased' | 'cancelled' — The possible shipment status values
    - `ship_to` ShippingAddressTo — A complete or partial mailing address.
      - `name` string, required — The name of a contact person at this address. This field may be set instead of - or in addition to - the `company_name` field.
      - `phone` string — The phone number of a contact person at this address. The format of this phone number varies depending on the country.
      - `email` string, nullable — Email for the address owner.
      - `company_name` string, nullable — If this is a business address, then the company name should be specified here.
      - `address_line1` string, required — The first line of the street address. For some addresses, this may be the only line. Other addresses may require 2 or 3 lines.
      - `address_line2` string, nullable — The second line of the street address. For some addresses, this line may not be needed.
      - `address_line3` string, nullable — The third line of the street address. For some addresses, this line may not be needed.
      - `city_locality` string, required — The name of the city or locality
      - `state_province` string, required — The state or province. For some countries (including the U.S.) only abbreviations are allowed. Other countries allow the full name or abbreviation.
      - `postal_code` string, required — postal code
      - `country_code` string — A two-letter [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1)
      - `address_residential_indicator` 'unknown' | 'yes' | 'no' — Indicates whether an address is residential.
      - `instructions` string, nullable — Additional text about how to handle the shipment at this address.
      - `geolocation` object[]
        - `type` 'what3words' — Enum of available type of geolocation items: - 'what3words' functionality allows to specify a location by providing 3 words that have been assign to the specific location see [link](https://what3words.com/business) for more details.
        - `value` string — value of the geolocation item
    - `ship_from` ShippingAddress — A complete or partial mailing address.
      - `name` string, required — The name of a contact person at this address. This field may be set instead of - or in addition to - the `company_name` field.
      - `phone` string — The phone number of a contact person at this address. The format of this phone number varies depending on the country.
      - `email` string, nullable — Email for the address owner.
      - `company_name` string, nullable — If this is a business address, then the company name should be specified here.
      - `address_line1` string, required — The first line of the street address. For some addresses, this may be the only line. Other addresses may require 2 or 3 lines.
      - `address_line2` string, nullable — The second line of the street address. For some addresses, this line may not be needed.
      - `address_line3` string, nullable — The third line of the street address. For some addresses, this line may not be needed.
      - `city_locality` string, required — The name of the city or locality
      - `state_province` string, required — The state or province. For some countries (including the U.S.) only abbreviations are allowed. Other countries allow the full name or abbreviation.
      - `postal_code` string, required — postal code
      - `country_code` string — A two-letter [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1)
      - `address_residential_indicator` 'unknown' | 'yes' | 'no' — Indicates whether an address is residential.
      - `instructions` string, nullable — Additional text about how to handle the shipment at this address.
    - `warehouse_id` string — A string that uniquely identifies a ShipEngine resource, such as a carrier, label, shipment, etc.
    - `return_to` ShippingAddress — A complete or partial mailing address.
      - `name` string, required — The name of a contact person at this address. This field may be set instead of - or in addition to - the `company_name` field.
      - `phone` string — The phone number of a contact person at this address. The format of this phone number varies depending on the country.
      - `email` string, nullable — Email for the address owner.
      - `company_name` string, nullable — If this is a business address, then the company name should be specified here.
      - `address_line1` string, required — The first line of the street address. For some addresses, this may be the only line. Other addresses may require 2 or 3 lines.
      - `address_line2` string, nullable — The second line of the street address. For some addresses, this line may not be needed.
      - `address_line3` string, nullable — The third line of the street address. For some addresses, this line may not be needed.
      - `city_locality` string, required — The name of the city or locality
      - `state_province` string, required — The state or province. For some countries (including the U.S.) only abbreviations are allowed. Other countries allow the full name or abbreviation.
      - `postal_code` string, required — postal code
      - `country_code` string — A two-letter [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1)
      - `address_residential_indicator` 'unknown' | 'yes' | 'no' — Indicates whether an address is residential.
      - `instructions` string, nullable — Additional text about how to handle the shipment at this address.
    - `is_return` boolean, nullable — An optional indicator if the shipment is intended to be a return. Defaults to false if not provided.
    - `confirmation` 'none' | 'delivery' | 'signature' | 'adult_signature' | 'direct_signature' | 'delivery_mailed' | 'verbal_confirmation' | 'delivery_code' | 'age_verification_16_plus' — The possible delivery confirmation values
    - `customs` InternationalShipmentOptions — Options for international shipments, such as customs declarations.
      - `contents` 'merchandise' | 'documents' | 'gift' | 'returned_goods' | 'sample' | 'other', required — The possible package contents values
      - `contents_explanation` string — Explanation for contents (required if the `contents` is provided as `other`)
      - `non_delivery` 'return_to_sender' | 'treat_as_abandoned', required — The possible non delivery values
      - `terms_of_trade_code` 'exw' | 'fca' | 'cpt' | 'cip' | 'dpu' | 'dap' | 'ddp' | 'fas' | 'fob' | 'cfr' | 'cif' | 'ddu' | 'daf' | 'deq' | 'des'
      - `declaration` string — Declaration statement to be placed on the commercial invoice
      - `invoice_additional_details` InvoiceAdditionalDetails — The additional information to put on commercial invoice
        - `freight_charge` MonetaryValue — A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
          - `currency` string, required — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
          - `amount` number, required — The monetary amount, in the specified currency.
        - `insurance_charge` MonetaryValue — A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
          - `currency` string, required — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
          - `amount` number, required — The monetary amount, in the specified currency.
        - `discount` MonetaryValue — A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
          - `currency` string, required — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
          - `amount` number, required — The monetary amount, in the specified currency.
        - `estimated_import_charges` EstimatedImportCharges — Estimated import charges for commercial invoices for international shipments.
          - `taxes` MonetaryValue — A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
            - `currency` string, required — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
            - `amount` number, required — The monetary amount, in the specified currency.
          - `duties` MonetaryValue — A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
            - `currency` string, required — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
            - `amount` number, required — The monetary amount, in the specified currency.
        - `other_charge` MonetaryValue — A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
          - `currency` string, required — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
          - `amount` number, required — The monetary amount, in the specified currency.
        - `other_charge_description` string — Description for the other charge (if provided).
        - `invoice_number` string — The invoice number to be used in the customs.
      - `importer_of_record` ImporterOfRecords — importer of records address, anywhere in the world.
        - `name` string, required — The name of a contact person at this address. Either `name` or the `company_name` field should always be set.
        - `phone` string — The phone number of a contact person at this address. The format of this phone number varies depending on the country.
        - `email` string, nullable — Email for the address owner.
        - `company_name` string, nullable — If this is a business address, then the company name should be specified here. Either `name` or the `company_name` field should always be set.
        - `address_line1` string, required — The first line of the street address. For some addresses, this may be the only line. Other addresses may require 2 or 3 lines.
        - `address_line2` string, nullable — The second line of the street address. For some addresses, this line may not be needed.
        - `address_line3` string, nullable — The third line of the street address. For some addresses, this line may not be needed.
        - `city_locality` string, required — The name of the city or locality
        - `state_province` string — The state or province. For some countries (including the U.S.) only abbreviations are allowed. Other countries allow the full name or abbreviation.
        - `postal_code` string, required — postal code
        - `country_code` string, required — A two-letter [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1)
      - `license_number` string — The license number to be used in the customs.
      - `certificate_number` string — The certificate number to be used in the customs.
      - `customs_items` CustomsItem[] — Customs declarations for each item in the shipment. (Please provide this information under `products` inside `packages`)
        - `customs_item_id` string, required — A string that uniquely identifies a ShipEngine resource, such as a carrier, label, shipment, etc.
        - `description` string, nullable — A description of the item
        - `quantity` integer — The quantity of this item in the shipment.
        - `value` number — The monetary amount, in the specified currency.
        - `value_currency` string — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
        - `weight` Weight — The weight of a package
          - `value` number, required — The weight, in the specified unit
          - `unit` 'pound' | 'ounce' | 'gram' | 'kilogram', required — The possible weight unit values
        - `harmonized_tariff_code` string, nullable — The [Harmonized Tariff Code](https://en.wikipedia.org/wiki/Harmonized_System) of this item.
        - `country_of_origin` string — A two-letter [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1)
        - `unit_of_measure` string, nullable
        - `sku` string, nullable — The SKU (Stock Keeping Unit) of the customs item
        - `sku_description` string, nullable — Description of the Custom Item's SKU
    - `advanced_options` AdvancedShipmentOptions — Advanced shipment options
      - `bill_to_account` string, nullable — This field is used to [bill shipping costs to a third party](https://www.shipengine.com/docs/shipping/bill-to-third-party/). This field must be used in conjunction with the `bill_to_country_code`, `bill_to_party`, and `bill_to_postal_code` fields.
      - `bill_to_country_code` string — A two-letter [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1)
      - `bill_to_party` 'recipient' | 'third_party' — The possible bill to party values
      - `bill_to_postal_code` string, nullable — The postal code of the third-party that is responsible for shipping costs.
      - `contains_alcohol` boolean — Indicates that the shipment contains alcohol.
      - `delivered_duty_paid` boolean — Indicates that the shipper is paying the international delivery duties for this shipment. This option is supported by UPS, FedEx, and DHL Express.
      - `dry_ice` boolean — Indicates if the shipment contain dry ice
      - `dry_ice_weight` Weight — The weight of a package
        - `value` number, required — The weight, in the specified unit
        - `unit` 'pound' | 'ounce' | 'gram' | 'kilogram', required — The possible weight unit values
      - `non_machinable` boolean — Indicates that the package cannot be processed automatically because it is too large or irregularly shaped. This is primarily for USPS shipments. See [Section 1.2 of the USPS parcel standards](https://pe.usps.com/text/dmm300/101.htm#ep1047495) for details.
      - `saturday_delivery` boolean — Enables Saturday delivery, if supported by the carrier.
      - `fedex_freight` object — Provide details for the Fedex freight service
        - `shipper_load_and_count` string
        - `booking_confirmation` string
      - `use_ups_ground_freight_pricing` boolean, nullable — Whether to use [UPS Ground Freight pricing](https://www.shipengine.com/docs/shipping/ups-ground-freight/). If enabled, then a `freight_class` must also be specified.
      - `freight_class` string, nullable — The National Motor Freight Traffic Association [freight class](http://www.nmfta.org/pages/nmfc?AspxAutoDetectCookieSupport=1), such as "77.5", "110", or "250".
      - `custom_field1` string, nullable — An arbitrary field that can be used to store information about the shipment.
      - `custom_field2` string, nullable — An arbitrary field that can be used to store information about the shipment.
      - `custom_field3` string, nullable — An arbitrary field that can be used to store information about the shipment.
      - `origin_type` 'pickup' | 'drop_off' — Indicates if the package will be picked up or dropped off by the carrier
      - `additional_handling` boolean, nullable — Indicate to the carrier that this shipment requires additional handling.
      - `shipper_release` boolean, nullable
      - `collect_on_delivery` CollectOnDelivery — Defer payment until package is delivered, instead of when it is ordered.
        - `payment_type` 'any' | 'cash' | 'cash_equivalent' | 'none' — Types of payment that are supported
        - `payment_amount` PaymentAmount
          - `currency` string — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
          - `amount` number
      - `third_party_consignee` boolean — Third Party Consignee option is a value-added service that allows the shipper to supply goods without commercial invoices being attached
      - `dangerous_goods` boolean — Indicates if the Dangerous goods are present in the shipment
      - `dangerous_goods_contact` object — Contact information for Dangerous goods
        - `name` string — Name of the contact
        - `phone` string — Phone number of the contact
      - `windsor_framework_details` object — The Windsor framework is a new regulation in the UK that simplifies customs procedures for goods moved from the UK mainland to Northern Ireland.
        - `movement_indicator` 'c2c' | 'b2c' | 'c2b' | 'b2b' — An indicator that will tell the carrier and HMRC the type of movement for the shipment.
        - `not_at_risk` boolean — An indicator that allows a shipper to declare the shipment as not-at-risk.
      - `license_number` string, nullable — license_number - This field was part of a historical implementation for passing customs-related data. For new integrations, please use the corresponding parameters within the shipment.customs object.
      - `invoice_number` string, nullable — invoice_number - This field was part of a historical implementation for passing customs-related data. For new integrations, please use the corresponding parameters within the shipment.customs object.
      - `certificate_number` string, nullable — certificate_number - This field was part of a historical implementation for passing customs-related data. For new integrations, please use the corresponding parameters within the shipment.customs object.
      - `fragile` boolean — Indicates that the contents of the package are fragile and should be handled with care.
      - `delivery-as-addressed` boolean — Instructs the carrier to deliver the package only to the exact address provided.
      - `return-after-first-attempt` boolean — Ensures the shipment is immediately flagged for return to the sender if the initial delivery attempt fails.
      - `regulated_content_type` 'day_old_poultry' | 'other_live_animal' — Indicates the category of goods in the shipment that is subject to special regulatory or compliance requirements.
    - `insurance_provider` 'none' | 'shipsurance' | 'carrier' | 'third_party' — The possible insurance provider values
    - `tags` Tag[] — Arbitrary tags associated with this shipment. Tags can be used to categorize shipments, and shipments can be queried by their tags.
      - `tag_id` integer — An integer uniquely identifying a tag.
      - `name` string, required — The tag name.
      - `color` string — A hex-coded string identifying the color of the tag.
    - `order_source_code` 'amazon_ca' | 'amazon_us' | 'brightpearl' | 'channel_advisor' | 'cratejoy' | 'ebay' | 'etsy' | 'jane' | 'groupon_goods' | 'magento' | 'paypal' | 'seller_active' | 'shopify' | 'stitch_labs' | 'squarespace' | 'three_dcart' | 'tophatter' | 'walmart' | 'woo_commerce' | 'volusion' — The order sources that are supported by ShipEngine
    - `packages` Package[] — The packages in the shipment. > **Note:** Some carriers only allow one package per shipment. If you attempt to create a multi-package shipment for a carrier that doesn't allow it, an error will be returned.
      - `shipment_package_id` string — A string that uniquely identifies a ShipEngine resource, such as a carrier, label, shipment, etc.
      - `package_id` string — A string that uniquely identifies a ShipEngine resource, such as a carrier, label, shipment, etc.
      - `package_code` string — 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.
      - `package_name` string — The name of the of the [package type](https://www.shipengine.com/docs/reference/list-carrier-packages/)
      - `weight` Weight, required — The weight of a package
        - `value` number, required — The weight, in the specified unit
        - `unit` 'pound' | 'ounce' | 'gram' | 'kilogram', required — The possible weight unit values
      - `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
      - `insured_value` MonetaryValue — A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
        - `currency` string, required — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
        - `amount` number, required — The monetary amount, in the specified currency.
      - `label_messages` LabelMessages — Custom messages to print on the shipping label for the package. These are typically used to print invoice numbers, product numbers, or other internal reference numbers. Not all carriers support label messages. The number of lines and the maximum length of each line also varies by carrier. |Carrier |Max lines |Max line length |-------------------|----------|-------------------- |USPS (Stamps.com) |3 |60 |FedEx |3 |35 for the first line. 30 for additional lines. |UPS |2 |35 |OnTrac |2 |25
        - `reference1` string, nullable, required — The first line of the custom label message. Some carriers may prefix this line with something like "REF", "Reference", "Trx Ref No.", etc.
        - `reference2` string, nullable, required — The second line of the custom label message. Some carriers may prefix this line with something like "INV", "Reference 2", "Trx Ref No.", etc.
        - `reference3` string, nullable, required — The third line of the custom label message. Some carriers may prefix this line with something like "PO", "Reference 3", etc.
      - `external_package_id` string — An external package id.
      - `tracking_number` string — A tracking number for a package. The format depends on the carrier.
      - `content_description` string, nullable — A short description of the package content. Required for shipments moving to, from, and through Mexico.
      - `products` Products[] — Details about products inside packages (Information provided would be used on custom documentation)
        - `description` string, nullable — A description of the item
        - `quantity` integer — The quantity of this item in the shipment.
        - `value` MonetaryValue — A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
          - `currency` string, required — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
          - `amount` number, required — The monetary amount, in the specified currency.
        - `weight` Weight — The weight of a package
          - `value` number, required — The weight, in the specified unit
          - `unit` 'pound' | 'ounce' | 'gram' | 'kilogram', required — The possible weight unit values
        - `harmonized_tariff_code` string, nullable — The [Harmonized Tariff Code](https://en.wikipedia.org/wiki/Harmonized_System) of this item.
        - `country_of_origin` string — A two-letter [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1)
        - `unit_of_measure` string, nullable
        - `sku` string, nullable — The SKU (Stock Keeping Unit) of the item
        - `sku_description` string, nullable — Description of the Custom Item's SKU
        - `mid_code` string, nullable — Manufacturers Identification code
        - `product_url` string, nullable — link to the item on the seller website
        - `vat_rate` number, nullable — VAT rate applicable to the item
        - `dangerous_goods` DangerousGoods[] — Details about dangerous goods inside products
          - `id_number` string, nullable — UN number to identify the dangerous goods.
          - `shipping_name` string, nullable — Trade description of the dangerous goods.
          - `technical_name` string, nullable — Recognized Technical or chemical name of dangerous goods.
          - `product_class` string, nullable — Dangerous goods product class based on regulation.
          - `product_class_subsidiary` string, nullable — A secondary of product class for substances presenting more than one particular hazard
          - `packaging_group` 'i' | 'ii' | 'iii'
          - `dangerous_amount` DangerousAmount — This model represents the amount of the dangerous goods..
            - `amount` number — The amount of dangerous goods.
            - `unit` string, nullable — The unit of dangerous goods.
          - `quantity` integer — Quantity of dangerous goods.
          - `packaging_instruction` string, nullable — The specific standardized packaging instructions from the relevant regulatory agency that have been applied to the parcel/container.
          - `packaging_instruction_section` 'section_1' | 'section_2' | 'section_1a' | 'section_1b'
          - `packaging_type` string, nullable — The type of exterior packaging used to contain the dangerous good.
          - `transport_mean` 'ground' | 'water' | 'cargo_aircraft_only' | 'passenger_aircraft'
          - `transport_category` string, nullable — Transport category assign to dangerous goods for the transport purpose.
          - `regulation_authority` string, nullable — Name of the regulatory authority.
          - `regulation_level` 'lightly_regulated' | 'fully_regulated' | 'limited_quantities' | 'excepted_quantity'
          - `radioactive` boolean, nullable — Indication if the substance is radioactive.
          - `reportable_quantity` boolean, nullable — Indication if the substance needs to be reported to regulatory authority based on the quantity.
          - `tunnel_code` string, nullable — Defines which types of tunnels the shipment is allowed to go through
          - `additional_description` string, nullable — Provider additonal description regarding the dangerous goods. This is used as a placed holder to provider additional context and varies by carrier
        - `extended_details` object — Additional details about products
    - `total_weight` Weight — The weight of a package
      - `value` number, required — The weight, in the specified unit
      - `unit` 'pound' | 'ounce' | 'gram' | 'kilogram', required — The possible weight unit values
    - `comparison_rate_type` string, nullable — Calculate a rate for this shipment with the requested carrier using a ratecard that differs from the default. Only supported for UPS and USPS.
    - `zone` integer, nullable — Certain carriers base [their rates](https://blog.stamps.com/2017/09/08/usps-postal-zones/) off of custom zones that vary depending upon the ship_to and ship_from location
  - `ship_date` string, date-time — An [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string that represents a date, but not a specific time. The value _may_ contain a time component, but it will be set to `00:00:00` UTC by ShipEngine.
  - `created_at` string, date-time — An [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string that represents a date and time.
  - `shipment_cost` MonetaryValue — A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
    - `currency` string, required — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
    - `amount` number, required — The monetary amount, in the specified currency.
  - `insurance_cost` MonetaryValue — A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
    - `currency` string, required — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
    - `amount` number, required — The monetary amount, in the specified currency.
  - `requested_comparison_amount` MonetaryValue — A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
    - `currency` string, required — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
    - `amount` number, required — The monetary amount, in the specified currency.
  - `rate_details` RateDetail[] — A list of rate details that are associated with shipping cost. This is useful for displaying a breakdown of the rate to the user.
    - `rate_detail_type` 'uncategorized' | 'shipping' | 'insurance' | 'confirmation' | 'discount' | 'fuel_charge' | 'additional_fees' | 'tariff' | 'tax' | 'delivery' | 'handling' | 'special_goods' | 'pickup' | 'location_fee' | 'oversize' | 'returns' | 'notifications' | 'tip' | 'duties_and_taxes' | 'brokerage_fee' | 'admin_fee' | 'adjustment' — The possible rate detail type values
    - `carrier_description` string — A rate detail description defined by a carrier
    - `carrier_billing_code` string — A rate detail code defined by a carrier
    - `carrier_memo` string — Contains any additional information
    - `amount` MonetaryValue — A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
      - `currency` string, required — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
      - `amount` number, required — The monetary amount, in the specified currency.
    - `rate_detail_attributes` RateDetailAttributes — Represents detailed information about a tax (e.g. VAT) contained in a shipping cost.
      - `tax_type` 'vat' — Type of a tax added to shipping cost
      - `tax_percentage` number — Tax percentage, e.g. 20 for 20%, added to the shipping cost
    - `billing_source` string — The source of the billing information. This is typically the carrier, but could be a third party, e.g insurance
  - `tracking_number` string — The tracking number for the package. Tracking number formats vary across carriers.
  - `is_return_label` boolean — Indicates whether this is a return label. You may also want to set the `rma_number` so you know what is being returned.
  - `rma_number` string, nullable — An optional Return Merchandise Authorization number. This field is useful for return labels. You can set it to any string value.
  - `is_international` boolean — Indicates whether this is an international shipment. That is, the originating country and destination country are different.
  - `batch_id` string — A string that uniquely identifies a ShipEngine resource, such as a carrier, label, shipment, etc.
  - `carrier_id` string — A string that uniquely identifies a ShipEngine resource, such as a carrier, label, shipment, etc.
  - `charge_event` 'carrier_default' | 'on_creation' | 'on_carrier_acceptance' — Determines when the user's account will be charged for the label.
  - `outbound_label_id` string — A string that uniquely identifies a ShipEngine resource, such as a carrier, label, shipment, etc.
  - `service_code` string — A [carrier service](https://www.shipengine.com/docs/shipping/use-a-carrier-service/), such as `fedex_ground`, `usps_first_class_mail`, `flat_rate_envelope`, etc.
  - `test_label` boolean — Indicate if this label is being used only for testing purposes. If true, then no charge will be added to your account.
  - `package_code` string — 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.
  - `validate_address` 'no_validation' | 'validate_only' | 'validate_and_clean' — The possible validate address values
  - `voided` boolean — Indicates whether the label has been [voided](https://www.shipengine.com/docs/labels/voiding/)
  - `voided_at` string, date-time — An [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string that represents a date and time.
  - `label_download_type` 'url' | 'inline' — There are two different ways to [download a label](https://www.shipengine.com/docs/labels/downloading/): |Label Download Type | Description |--------------------|------------------------------ |`url` |You will receive a URL, which you can use to download the label in a separate request. The URL will remain valid for 90 days. |`inline` |You will receive the Base64-encoded label as part of the response. No need for a second request to download the label.
  - `label_format` 'pdf' | 'png' | 'zpl' — The possible file formats in which shipping labels can be downloaded. We recommend `pdf` format because it is supported by all carriers, whereas some carriers do not support the `png` or `zpl` formats. |Label Format | Supported Carriers |--------------|----------------------------------- |`pdf` | All carriers |`png` | `fedex` <br> `stamps_com` <br> `ups` <br> `usps` |`zpl` | `access_worldwide` <br> `apc` <br> `asendia` <br> `dhl_global_mail` <br> `dhl_express` <br> `dhl_express_australia` <br> `dhl_express_canada` <br> `dhl_express_worldwide` <br> `dhl_express_uk` <br> `dpd` <br> `endicia` <br> `fedex` <br> `fedex_uk` <br> `firstmile` <br> `imex` <br> `newgistics` <br> `ontrac` <br> `rr_donnelley` <br> `stamps_com` <br> `ups` <br> `usps`
  - `display_scheme` 'label' | 'paperless' | 'label_and_paperless' — The display format that the label should be shown in.
  - `label_layout` '4x6' | 'letter' | 'A4' | 'A6' — The available layouts (sizes) in which shipping labels can be downloaded. The label format determines which sizes are supported. `4x6` is supported for all label formats, whereas `letter` (8.5" x 11") is only supported for `pdf` format.
  - `trackable` boolean — Indicates whether the shipment is trackable, in which case the `tracking_status` field will reflect the current status and each package will have a `tracking_number`.
  - `label_image_id` string — Used to identify an image resource.
  - `carrier_code` string — A [shipping carrier](https://www.shipengine.com/docs/carriers/setup/), such as `fedex`, `dhl_express`, `stamps_com`, etc.
  - `tracking_status` 'unknown' | 'in_transit' | 'error' | 'delivered' — The different statuses that can apply to a shipment.
  - `confirmation` 'none' | 'delivery' | 'signature' | 'adult_signature' | 'direct_signature' | 'delivery_mailed' | 'verbal_confirmation' | 'delivery_code' | 'age_verification_16_plus' — The possible delivery confirmation values
  - `label_download` LabelDownload — Reference to the various downloadable file formats for the generated label
    - `href` string, url — A URL
    - `pdf` string, url — A URL
    - `png` string, url — A URL
    - `zpl` string, url — A URL
  - `form_download` Link — A link to a related resource, or an empty object if there is no resource to link to
    - `href` string, url — A URL
    - `type` string — The type of resource, or the type of relationship to the parent resource
  - `qr_code_download` OptionalLink — A link to a related resource, or an empty object if there is no resource to link to
    - `href` string, url — A URL
    - `type` string — The type of resource, or the type of relationship to the parent resource
  - `paperless_download` PaperlessDownload — The paperless details which may contain elements like `href`, `instructions` and `handoff_code`.
    - `href` string, url — A URL
    - `instructions` string, nullable — The instructions for the paperless download.
    - `handoff_code` string, nullable — The handoff code for the paperless download.
  - `insurance_claim` Link — A link to a related resource, or an empty object if there is no resource to link to
    - `href` string, url — A URL
    - `type` string — The type of resource, or the type of relationship to the parent resource
  - `packages` object[] — The label's package(s). > **Note:** Some carriers only allow one package per label. If you attempt to create a multi-package label for a carrier that doesn't allow it, an error will be returned.
    - `package_id` integer — The shipment package id
    - `package_code` string — 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.
    - `weight` Weight, required — The weight of a package
      - `value` number, required — The weight, in the specified unit
      - `unit` 'pound' | 'ounce' | 'gram' | 'kilogram', required — The possible weight unit values
    - `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
    - `insured_value` MonetaryValue — A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
      - `currency` string, required — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
      - `amount` number, required — The monetary amount, in the specified currency.
    - `tracking_number` string — A tracking number for a package. The format depends on the carrier.
    - `label_download` LabelDownload — Reference to the various downloadable file formats for the generated label
      - `href` string, url — A URL
      - `pdf` string, url — A URL
      - `png` string, url — A URL
      - `zpl` string, url — A URL
    - `form_download` OptionalLink — A link to a related resource, or an empty object if there is no resource to link to
      - `href` string, url — A URL
      - `type` string — The type of resource, or the type of relationship to the parent resource
    - `qr_code_download` OptionalLink — A link to a related resource, or an empty object if there is no resource to link to
      - `href` string, url — A URL
      - `type` string — The type of resource, or the type of relationship to the parent resource
    - `paperless_download` PaperlessDownload — The paperless details which may contain elements like `href`, `instructions` and `handoff_code`.
      - `href` string, url — A URL
      - `instructions` string, nullable — The instructions for the paperless download.
      - `handoff_code` string, nullable — The handoff code for the paperless download.
    - `label_messages` LabelMessages — Custom messages to print on the shipping label for the package. These are typically used to print invoice numbers, product numbers, or other internal reference numbers. Not all carriers support label messages. The number of lines and the maximum length of each line also varies by carrier. |Carrier |Max lines |Max line length |-------------------|----------|-------------------- |USPS (Stamps.com) |3 |60 |FedEx |3 |35 for the first line. 30 for additional lines. |UPS |2 |35 |OnTrac |2 |25
      - `reference1` string, nullable, required — The first line of the custom label message. Some carriers may prefix this line with something like "REF", "Reference", "Trx Ref No.", etc.
      - `reference2` string, nullable, required — The second line of the custom label message. Some carriers may prefix this line with something like "INV", "Reference 2", "Trx Ref No.", etc.
      - `reference3` string, nullable, required — The third line of the custom label message. Some carriers may prefix this line with something like "PO", "Reference 3", etc.
    - `external_package_id` string — An external package id.
    - `content_description` string, nullable — A short description of the package content. Required for shipments moving to, from, and through Mexico.
    - `sequence` integer — Package sequence
    - `has_label_documents` boolean — Whether the package has label documents available for download
    - `has_form_documents` boolean — Whether the package has form documents available for download
    - `has_qr_code_documents` boolean — Whether the package has QR code documents available for download
    - `has_paperless_label_documents` boolean — Whether the package has paperless documents available for download
    - `alternative_identifiers` AlternativeIdentifier[], nullable — Alternative identifiers associated with this package.
      - `type` string — The type of alternative_identifier that corresponds to the value.
      - `value` string — The value of the alternative_identifier.
  - `alternative_identifiers` AlternativeIdentifier[], nullable — Additional information some carriers may provide by which to identify a given label in their system.
    - `type` string — The type of alternative_identifier that corresponds to the value.
    - `value` string — The value of the alternative_identifier.
  - `tracking_url` string, nullable — The URL to track the package. This URL is provided by the carrier and is unique to the tracking number.
  - `ship_to` ShippingAddressTo — A complete or partial mailing address.
    - `name` string, required — The name of a contact person at this address. This field may be set instead of - or in addition to - the `company_name` field.
    - `phone` string — The phone number of a contact person at this address. The format of this phone number varies depending on the country.
    - `email` string, nullable — Email for the address owner.
    - `company_name` string, nullable — If this is a business address, then the company name should be specified here.
    - `address_line1` string, required — The first line of the street address. For some addresses, this may be the only line. Other addresses may require 2 or 3 lines.
    - `address_line2` string, nullable — The second line of the street address. For some addresses, this line may not be needed.
    - `address_line3` string, nullable — The third line of the street address. For some addresses, this line may not be needed.
    - `city_locality` string, required — The name of the city or locality
    - `state_province` string, required — The state or province. For some countries (including the U.S.) only abbreviations are allowed. Other countries allow the full name or abbreviation.
    - `postal_code` string, required — postal code
    - `country_code` string — A two-letter [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1)
    - `address_residential_indicator` 'unknown' | 'yes' | 'no' — Indicates whether an address is residential.
    - `instructions` string, nullable — Additional text about how to handle the shipment at this address.
    - `geolocation` object[]
      - `type` 'what3words' — Enum of available type of geolocation items: - 'what3words' functionality allows to specify a location by providing 3 words that have been assign to the specific location see [link](https://what3words.com/business) for more details.
      - `value` string — value of the geolocation item
  - `void_type` 'refund_assist' | 'manual' — Indicates how a label was voided. `refund_assist` means the label was voided through the Refund Assist program, while `manual` means it was voided manually by the user.
  - `refund_details` RefundDetails — Information about a Refund Assist label. This object contains details about the refund request status and associated monetary amounts.
    - `refund_status` 'request_scheduled' | 'pending' | 'approved' | 'rejected' | 'excluded' — The status of a Refund Assist request for eligible labels. |Status |Description |:-------------------|:----------------------------------------------------- |`request_scheduled` |The refund request has been scheduled but not yet submitted |`pending` |The refund request has been submitted and is awaiting approval |`approved` |The refund request has been approved by the carrier |`rejected` |The refund request has been rejected by the carrier |`excluded` |The refund request has been excluded by the user. Labels in this status were not sent to the carrier for a refund request.
    - `request_date` string, date-time — An [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string that represents a date and time.
    - `amount_paid` MonetaryValue — A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
      - `currency` string, required — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
      - `amount` number, required — The monetary amount, in the specified currency.
    - `amount_requested` MonetaryValue — A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
      - `currency` string, required — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
      - `amount` number, required — The monetary amount, in the specified currency.
    - `amount_approved` MonetaryValue — A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
      - `currency` string, required — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
      - `amount` number, required — The monetary amount, in the specified currency.
    - `amount_credited` MonetaryValue — A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
      - `currency` string, required — The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html
      - `amount` number, required — The monetary amount, in the specified currency.

## 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.

---

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