Pack App API

Ship packages from your warehouse management system's pack stations or stores with Shipium's Pack App API.

Get started

To use the Pack Application (App) API, you can follow the instructions on this page. The Shipium Pack App API assumes you're using one of the authentication mechanisms detailed in our authentication documentation.

📘

Authentication for API Calls

In the cURL example on this page, the environment variable AUTHSTRING is used to handle authorization. The recipe below shows how to set it correctly for both API Key and OAuth users.

Using the Pack App API, you can:

General information about the Pack App within the Shipium platform can be found in the Pack App documentation. Guidance for using the Pack App within the Shipium Console to scan orders and print labels as well as search order details is included in the Pack Application (Pack App) documentation.

Create an order with the Pack App API

The endpoint for creating an order with the Pack App API is included in the table below.

Example cURL call to create an order

This example shows a request to create an order.

curl --request POST \
  --url https://api.shipium.com/api/v1/packShip/order \
  --header 'accept: application/json' \
  --header $AUTHSTRING \
  --header 'content-type: application/json' \
  --data 'INSERT REQUEST BODY FROM BELOW'

Example request body to create an order

The following fields should be included in your JSON request.

{
  "fulfillmentType": "customer",
  "orderSource": "external",
  "partnerOrderId": "partner-order:12345",
  "associatedIdentifiers": [
    "lpn-barcode:12345"
  ],
  "tenantId": null,
  "orderedDateTime": "2025-03-15T10:10:00.111111Z",
  "orderItemQuantities": [
    {
      "orderItemReferenceIdentifier": "partner-order:12334_item:1",
      "hazmat": false,
      "hazmatInfo": null,
      "productTaxCode": null,
      "nmfcCode": null,
      "nmfcFreightClass": null,
      "productId": "partner-product:12345",
      "quantity": 3,
      "productDetails": null
    }
  ],
  "shipFromAddress": null,
  "originId": "<ORIGIN-ID/PARTNER-PROVIDED-ORIGIN-ID FROM PARTNER CONFIG IN SHIPIUM>",
  "destinationAddress": {
    "name": "Wile E. Coyote",
    "phoneNumber": "9995551234",
    "phoneNumberCountryCode": "+1",
    "emailAddress": "[email protected]",
    "company": "ACME",
    "street1": "123 Main St.",
    "street2": "Suite 42",
    "city": "Albuquerque",
    "state": "NM",
    "countryCode": "US",
    "postalCode": "87121",
    "addressType": "residential",
    "addressLineComponents": null
  },
  "shipOption": null,
  "customsInfo": null,
  "totalDeclaredValue": null,
  "orderFulfillmentParameters": {
    "saturdayDelivery": false,
    "thirdPartyBillingSetId": null,
    "forceThirdPartyBilling": false,
    "fulfillmentContext": "<FCTX-ID/PARTNER-PROVIDED-FCTX-ID FROM PARTNER CONFIG IN SHIPIUM>",
    "fulfillmentContextId": null,
    "packagingType": null,
    "totalWeight": null
  }
}

Example response body for an order creation

{
  "fulfillmentType": "customer",
  "orderSource": "external",
  "shipiumOrderId": "4dc43fff-c3af-4d7b-8a18-e01f2b4cb312",
  "partnerOrderId": "partner-order:12345",
  "associatedIdentifiers": [
    "lpn-barcode:12345"
  ],
  "tenantId": null,
  "orderedDateTime": "2025-03-15T10:10:00.111111Z",
  "orderItemQuantities": [
    {
      "shipiumOrderId": "4dc43fff-c3af-4d7b-8a18-e01f2b4cb312",
      "partnerOrderId": "partner-order:12345",
      "orderItemReferenceIdentifier": "partner-order:12334_item:1",
      "hazmat": false,
      "hazmatInfo": null,
      "productTaxCode": null,
      "nmfcCode": null,
      "nmfcFreightClass": null,
      "productId": "partner-product:12345",
      "quantity": 3,
      "productDetails": null
    }
  ],
  "shipFromAddress": null,
  "originId": "<ORIGIN-ID/PARTNER-PROVIDED-ORIGIN-ID FROM PARTNER CONFIG IN SHIPIUM>",
  "destinationAddress": {
    "name": "Wile E. Coyote",
    "phoneNumber": "9995551234",
    "phoneNumberCountryCode": "+1",
    "emailAddress": "[email protected]",
    "company": "ACME",
    "street1": "123 Main St.",
    "street2": "Suite 42",
    "city": "Albuquerque",
    "state": "NM",
    "countryCode": "US",
    "postalCode": "87121",
    "addressType": "residential",
    "addressLineComponents": null
  },
  "shipOption": null,
  "customsInfo": null,
  "totalDeclaredValue": null,
  "orderFulfillmentParameters": {
    "saturdayDelivery": false,
    "thirdPartyBillingSetId": null,
    "forceThirdPartyBilling": false,
    "fulfillmentContext": "<FCTX-ID/PARTNER-PROVIDED-FCTX-ID FROM PARTNER CONFIG IN SHIPIUM>",
    "fulfillmentContextId": null,
    "packagingType": null,
    "totalWeight": null
  }
}

Request and response fields for creating an order

The following table provides required and optional fields for calling the Pack App API to create an order. Optional fields such as those in customsInfo would only be required for international shipments. You can find additional support in the Pack App API Reference.

Request fieldRequired/OptionalField propertiesDescription
fulfillmentTypeRequiredString enumeration
Values are:

- customer
- at_large
- returns
- hundredweight
- reship
The fulfillment methodology of the shipment
orderSourceRequiredString enumeration
Values are:

- Shipium
- External
The source of this order whether it is from the Shipium system or externally created
partnerOrderIdOptionalStringAn optional custom identifier that may be used for this order
associatedIdentifiersOptionalAn array of stringsAssociated identifiers that are indexed to identify this order; for example, this can be a license plate number (LPN) that is bound to the order. This can be searched but is not interchangeable with orderId.
tenantIdOptionalStringEither the Shipium Tenant ID or the Tenant ID provided by your organization (Partner Provided ID); when present, this is used to indicate the tenant associated with the shipment.
orderedDateTimeRequiredString ($date-time)The timestamp for when the customer placed the order for this product; the timestamp must be a valid ISO 8601 timestamp.
orderItemQuantitiesRequiredAn array of order item quantitiesA list of orderItems comprising the shipment
orderItemQuantities .orderItemReferenceIdentifierRequiredStringAn external identifier that can reference the order item that exists in an external order management system (OMS); this field will be passed to supported carriers.
orderItemQuantities.hazmatOptionalBoolean
true or false
If true, this indicates that the item is hazardous material (hazmat). The default value is false. For hazmat requirements, you can refer to Hazardous Materials.
orderItemQuantities .hazmatInfo.categoryOptional, but required if including hazmatInfoString enumeration
Values are:

- defined
- contains_lithium_ion
- packaged_lithium_ion
- lithium_ion_battery_only
- contains_lithium_metal
- packaged_lithium_metal
- lithium_metal_battery_only
- dry_ice
Hazmat category for this order item; use defined to specify detailed information.
orderItemQuantities .hazmatInfo.quantityOptional, but required if category is definedNumber ($float)
Ex.: 2.1
The amount of quantity type material in quantity units
orderItemQuantities .hazmatInfo.quantityTypeOptional, but required if category is definedString enumeration
Values are:

- gross
- net
Determines whether the quantity includes the raw material (net) or also includes the material housing (gross)
orderItemQuantities .hazmatInfo.quantityUnitsOptional, but required if category is definedString enumeration
Values are:

- g (gram)
- kg (kilogram)
- lb (pound)
- oz (ounce)
- ml (milliliter)
- l (liter)
The units of measure for the quantity of hazardous materials specified
orderItemQuantities .hazmatInfo.containerTypeOptional, but required if category is definedString enumeration
Values are:

- fiberboard_box
- wooden_box
- plastic_jerrican
- metal_box
- steel_drum
- other
- plastic_box
- plastic_drum
- styrofoam_box
- cylinder
- envirotainer
- plywood_box
- aluminum_drum
- aluminum_cylinder
- plastic_pail
- plywood_drum
- fiber_drum
- steel_jerrican
- aluminum_jerrican
- steel_box
- carton
- aluminum_box
The material in which the hazardous material is packaged
orderItemQuantities .hazmatInfo.hazmatIdOptional, but required if category is definedString
Ex.: UN1755
The International Air Transport Association (IATA) or U.S. Department of Transportation (DOT) regulatory identifier for the commodity as appropriate
orderItemQuantities .hazmatInfo .properShippingNameOptional, but required if category is definedString
Ex.: chromic acid solution
Proper shipping name that is associated with the specified hazmat ID
orderItemQuantities .hazmatInfo.packingGroupOptionalString enumeration
Values are:

- i
- ii
- iii
The packing group code for the hazardous material
orderItemQuantities .hazmatInfo.transportModeOptional, but required if category is definedString enumeration
Values are:

- ground
- passenger_and_cargo_aircraft
- cargo_aircraft_only
Declares that a package was prepared according to ground, passenger aircraft, or cargo aircraft only
orderItemQuantities .hazmatInfo .packingInstructionCodeOptionalString
Ex.: 967
The packing instruction code used for air transport
orderItemQuantities .hazmatInfo.hazardClassOptional, but required if category is definedString enumeration
Values are:

- class_1_explosive
- class_2_flammable_gas
- class_3_flammable_liquid
- class_4_flammable_solid
- class_5_organic_peroxide
- class_6_poisonous_material
- class_7_radioactive
- class_8_corrosive_material
- class_9_miscellaneous
The hazard class of the hazmat
orderItemQuantities .hazmatInfo .subsidiaryClassesOptionalString
Ex.: 8.1
The appropriate IATA/DOT subsidiary classes associated with the material and the hazard class
orderItemQuantities .productTaxCodeOptionalStringThe tax code that applies to the given product
orderItemQuantities .nmfcCodeOptionalStringA string representing the narrow type of product being shipped; for example, bricks have an NMFC code of 32100.2 and steel pipes have an NMFC code of 51200.
orderItemQuantities .nmfcFreightClassOptionalStringUseful for less-than-truckload (LTL) shipments string representing the broad class of product being shipped; for example, both bricks and steel pipes have an NMFC class of 50.
orderItemQuantities .productIdRequiredString
Ex.: RN03947-Z43121
A product ID for the product being checked, such as ISBN and UPC
orderItemQuantities .quantityRequiredInteger ($int32)
Ex.: 3
The number of units of this product
orderItemQuantities .productDetailsOptional, but required for international shipments and shipments containing hazardous materialsString
Ex.:

- perishable
-limited_quantity (or lq)
- ormd or (orm-d)
- bound_printed_matter (or bpm)
A list of properties that may affect the shipping of the product
shipFromAddress .countryCodeRequiredStringThe ISO 3166-1 country code for the origin address
shipFromAddress .postalCodeRequiredStringA country-code-appropriate postal code for the origin address
shipFromAddress .addressTypeOptionalString enumeration
Values are:

- commercial
- residential
The type of location for the origin address
shipFromAddress .companyOptionalStringThe company name for the origin address
shipFromAddress.nameOptionalStringThe name of the contact for the origin address
shipFromAddress .emailAddressOptionalStringThe email address of the contact for the origin address
shipFromAddress .phoneNumberOptionalStringThe phone number of the contact for the origin address
shipFromAddress .phoneNumber CountryCodeOptionalStringThe phone number country code of the contact for the origin address
shipFromAddress.cityOptionalStringThe name of the city for the origin address
shipFromAddress .stateOptionalStringThe two-letter postal abbreviation of the state for the origin address
shipFromAddress .street1OptionalStringThe first address line
shipFromAddress .street2OptionalStringThe second address line
shipFromAddress .addressLineComponentsOptional, but
preferred for Mexican addresses
String
Ex.:

- streetName: "Fovisste Fuentes Brotantes"
- primaryAddressNumber: "12"
- secondaryAddressNumber: "302"
- district: "Iztacalco"
- neighborhood: "Agrícola Pantitlán"
The address line components for the address, used for some international shipments. This is an optional object. The street1 and street2 fields should not be included if using addressLineComponents, or an error will be returned. This optional address object is not included in the example JSON requests for this API call. You can find out more about Mexican addresses in Non-U.S. Address Formats.
originIdRequired, if shipFromAddress is not populatedStringThe origin to which the order is assigned; it cannot be assigned if shipFromAddress is also populated.
destinationAddress .countryCodeRequiredStringThe ISO 3166-1 country code for the destination address
destinationAddress .postalCodeRequiredStringA country-code-appropriate postal code for the destination address
destinationAddress .addressTypeRequiredString enumeration
Values are:

- commercial
- residential
The type of location for the destination address
destinationAddress .companyRequiredStringThe company name for the destination address
destinationAddress .nameRequiredStringThe name of the contact for the destination address
destinationAddress .emailAddressRequiredStringThe email address of the contact for the destination address
destinationAddress .phoneNumberRequiredStringThe phone number of the contact for the destination address
destinationAddress .phoneNumber CountryCodeRequiredStringThe phone number country code of the contact for the destination address
destinationAddress .cityRequiredStringThe name of the city for the destination address
destinationAddress .stateRequiredStringThe 2-letter postal abbreviation of the state for the destination address
destinationAddress .street1RequiredStringThe first destination address line
destinationAddress .street2RequiredStringThe second destination address line
destinationAddress .addressLineComponentsOptional, but
preferred for Mexican addresses
String
Ex.:

- streetName: "Fovisste Fuentes Brotantes"
- primaryAddressNumber: "12"
- secondaryAddressNumber: "302"
- district: "Iztacalco"
- neighborhood: "Agrícola Pantitlán"
The address line components for the address, used for some international shipments. This is an optional object. The street1 and street2 fields should not be included if using addressLineComponents, or an error will be returned. This optional address object is not included in the example JSON requests for this API call. You can find out more about Mexican addresses in Non-U.S. Address Formats.
shipOptionOptionalString
Ex.: standard
A high-level shipping option shown to or selected by a customer
customsInfo .totalCustomsValueOptionalFloatThe total customs value of the package in total customs value currency units
customsInfo .totalCustomsValueCurrency OptionalStringThe ISO 4217 currency code representing the totalCustomsValue
customsInfo .customsDescriptionOptionalStringThe detailed description of the items being shipped
customsInfo .reasonForExportOptionalString enumeration
Values are:

- sale
- gift
- sample
- returns
- personal_effects
The reason to export an international shipment
customsInfo.invoiceDateOptionalStringDate when the invoice was created; ideally, this is the same as the ship date.
customsInfo.invoiceNumberOptionalStringThe Commercial Invoice number, if the Commercial Invoice was generated by your organization
customsInfo .europeanUnionInfo .vendorIossNumberOptionalStringAn Import One-Stop-Shop (IOSS) number is a 12-digit identification number that is used to pay the value-added tax (VAT) and declare imports to the European Union (EU). The IOSS number is a type of VAT identification, but it is not the same as a resident VAT registration.
customsInfo .ultimateConsigneeAddress .nameOptionalStringThe name associated with the address of the person or company who receives the goods for end use
customsInfo .ultimateConsigneeAddress .phoneNumberOptionalStringThe phone number of the person or company who receives the goods for end use
customsInfo .ultimateConsigneeAddress .phoneNumberCountryCodeOptionalStringThe phone number country code of the person or company who receives the goods for end use
customsInfo .ultimateConsigneeAddress .emailAddressOptionalStringThe email address of the person or company who receives the goods for end use
customsInfo .ultimateConsigneeAddress .companyOptionalStringThe company name associated with the person or company who receives the goods for end use
customsInfo .ultimateConsigneeAddress .street1OptionalStringThe first address line of the person or company who receives the goods for end use
customsInfo .ultimateConsigneeAddress .street2OptionalStringThe second address line of the person or company who receives the goods for end use
customsInfo .ultimateConsigneeAddress .cityOptionalStringThe name of the city for the address of the person or company who receives the goods for end use
customsInfo .ultimateConsigneeAddress .stateOptionalStringThe state abbreviation for the address of the person or company who receives the goods for end use
customsInfo .ultimateConsigneeAddress .countryCodeOptionalStringThe ISO 3166 1 country code for the address of the person or company who receives the goods for end use
customsInfo .ultimateConsigneeAddress .postalCodeOptionalStringA country code appropriate postal code for the address of the person or company who receives the goods for end use
customsInfo .ultimateConsigneeAddress .addressTypeOptionalString enumeration
Values are:

- commercial
- residential
The type of location for this address
customsInfo .ultimateConsigneeAddress .addressLineComponentsOptional, but preferred for Mexican addressesStringThe address line components for the address, used for some international shipments. This is an optional object. The street1 and street2 fields should not be included if using addressLineComponents, or an error will be returned. This optional address object is not included in the example JSON requests for this API call. You can find out more about Mexican addresses in Non-U.S. Address Formats .
customsInfo .ultimateConsigneeTypeOptionalString enumeration
Values are:

- direct_consumer
- government_entity
- reseller
The type of the ultimate consignee
customsInfo .aesInternalTransactionNumberOptionalStringThe number received if the Electronic Export Information (EEI) was filed and has been accepted in the Automated Export System (AES)
customsInfo .electronicExportInformation .exportDateOptionalString ($local-date)
Ex.: 2019-10-29
The date the goods will be exiting the country
customsInfo .electronicExportInformation .pointOfOriginOptionalStringThe 2-character state abbreviation from which the goods were shipped to the port of export
customsInfo .b13AFilingOptionOptionalString enumeration
Values are:

- not_required
- manually_attached
- filed_electronically
- summary_reporting
- carrier_to_stamp
Specify the filing option being exercised; required for non-document shipments originating in Canada destined for any country other than Canada, the United States, Puerto Rico, or the U.S. Virgin Islands.
customsInfo .exportComplianceStatementOptionalStringFor U.S. export shipments requiring an EEI, enter the ITN number received from AES when you filed your shipment or the FTR (Foreign Trade Regulations) exemption number. The proper format for an ITN number is AES XYYYYMMDDNNNNNN where YYYYMMDD is date and NNNNNN are numbers generated by the AES. Ex: AESX20220714987654

Note: The ITN or FTR exemption number you submit in the ship request prints on the international shipping label. For CA export shipments, it can be Proof of report number (15-32 alphanumeric), Summary proof of report number (7-32 alphanumeric) or Exemption number (2 digit) based on the selected b13AFilingOption. Ex: 98765432107654321 (POR number), 7654321 (Summary POR number) and 02 (Exemption number). For FTR exemption number, you need provide a predefined value as NO_EEI_30_37_A.
customsInfo .permitNumberOptionalStringThis is a Permit Number. This field is applicable only to Canada export non-document shipments of any value to any destination. No special characters are allowed.
customsInfo.customsItems .customsValueOptionalFloatThe value of each individual item to report to customs in customsValueCurrency
customsInfo.customsItems .customsValueCurrencyOptionalStringThe ISO 4217 currency code representing the customsValue
customsInfo.customsItems .commodityDescriptionOptionalStringA description of this product to be provided to customs
customsInfo.customsItems .countryOfManufactureOptionalStringThe ISO 3166 2-digit country code that manufactured the this product
customsInfo.customsItems .customsWeight.weightUnitOptionalString enumeration
Values are:

- g (gram)
- kg (kilogram)
- oz (ounce)
- lb (pound)
The unit in which the weight is measured
customsInfo.customsItems .customsWeight.weightOptionalFloatThe actual weight in weight units
customsInfo.customsItems .quantityOptionalIntegerThe number of units of this customs item
customsInfo.customsItems .productIdOptionalStringA product ID for the customs item
customsInfo.customsItems .quantityUnitOfMeasurementOptionalString enumeration
Values are:

- bag
- barrel
- box
- case_of_goods
- container
- crate
- cylinder
- envelope
- pallet
- piece
- roll
- tube
The unit of measurement of the item
customsInfo.customsItems .harmonizedTariffNumberOptionalStringThe 6- to 15-digit Harmonized System Tariff classification code
customsInfo.customsItems .commodityPartNumberOptionalStringThe part number or reference number for the product
customsInfo.customsItems .marksAndNumbersOptionalStringAny special marks, codes, and numbers that may identify the package
customsInfo.customsItems .electronicExportCommodity Information.exportTypeOptionalString enumeration
Values are:

- domestic
- foreign
The type of the export
customsInfo.customsItems .electronicExportCommodity Information .exportInformationCodeOptionalStringThe 2-digit export information code for the commodity
customsInfo.customsItems .electronicExportCommodity Information .scheduleBInformation .scheduleBNumberOptionalStringThe 10-digit Schedule B classification code for the item being exported
customsInfo.customsItems .electronicExportCommodity Information .scheduleBInformation .scheduleBQuantityOptionalIntegerThe count of how many Schedule B units are in the shipment
customsInfo.customsItems .electronicExportCommodity Information .scheduleBInformation .scheduleBUnitOfMeasurementOptionalString
Values are:
barrels
carat
content_kilogram
square_centimeter
content_ton
curie
clean_yield_kilogram
dozen
dozen_pieces
dozen_pairs
fiber_meter
gross_container
gram
gross
hundred
kilogram
cubic_kilometer
kilogram_total_sugars
liter
meter
square_meter
cubic_meter
millicurie
number
pieces
proof_liter
pack
pairs
running_bales
square
ton
thousand
no_quantity_required
The unit of measure for the Schedule B quantity
customsInfo.customsItems .electronicExportCommodity Information .eccnNumberOptionalStringThe 5-digit product ECCN number as issued by the Bureau of Industry and Security; the format is #A###.
customsInfo.customsItems .electronicExportCommodity Information .exportLicenseInformation .licenseTypeOptionalStringThe standard license type code as published by the U.S. government
customsInfo.customsItems .electronicExportCommodity Information .exportLicenseInformation .licenseExemptionCodeOptionalStringThe license exemption code, if the license type does not require a license number
customsInfo.customsItems .electronicExportCommodity Information .exportLicenseInformation .exportLicense .licenseNumberOptionalStringThe license number
customsInfo.customsItems .electronicExportCommodity Information .exportLicenseInformation .exportLicense .licenseLineValueOptionalIntegerThe export monetary amount allowed per license
customsInfo.customsItems .electronicExportCommodity Information .exportLicenseInformation .exportLicense .licenseExpirationOptionalString ($local-date)
Ex.: 2019-10-29
The license expiration date
customsInfo.customsItems .b13AFilingOptionOptionalString enumeration
Values are:

- not_required
- manually_attached
- filed_electronically
- summary_reporting
- carrier_to_stamp
Specify the filing option being exercised; required for non-document shipments originating in Canada destined for any country other than Canada, the United States, Puerto Rico, or the U.S. Virgin Islands.
customsInfo.customsItems .exportComplianceStatementOptionalStringFor U.S. export shipments requiring an EEI, enter the ITN number received from AES when you filed your shipment or the FTR (Foreign Trade Regulations) exemption number. The proper format for an ITN number is AES XYYYYMMDDNNNNNN where YYYYMMDD is date and NNNNNN are numbers generated by the AES. Ex: AESX20220714987654

Note: The ITN or FTR exemption number you submit in the ship request prints on the international shipping label. For CA export shipments, it can be Proof of report number (15-32 alphanumeric), Summary proof of report number (7-32 alphanumeric) or Exemption number (2 digit) based on the selected b13AFilingOption. Ex: 98765432107654321 (POR number), 7654321 (Summary POR number) and 02 (Exemption number). For FTR exemption number, you need provide a predefined value as NO_EEI_30_37_A.
customsInfo.incotermOptionalString enumeration
Values are:

- ddp (delivery duty paid; the seller delivers the shipment in the foreign country to the named place and assumes all costs, risk, and responsibilities of the shipping process)
- ddu (delivery duty unpaid; the seller delivers the shipment in the foreign country to the named place, and the buyer is responsible for import duties, taxes, and customs clearance)
- dap (delivered at place; the seller arranges and pays for delivery of goods, and the buyer handles import clearance and unloading and in-country transport)
- dpu (delivered at place unloaded; the seller arranges and pays for delivery of goods and is responsible for unloading goods at the destination point)
- fca (free carrier; the seller delivers the goods to a named place and is responsible for export clearance, and the buyer is then responsible for the shipment)
The incoterm , or international commerce term, defines the delivery duty responsibility for buyers and sellers for any mode of transport
totalDeclaredValue .declaredValueOptionalFloatThe value to be passed through as the total declared value, which is the total monetary amount of the declared value for the package. This is what will be reimbursed if the package is damaged. If the declared value exceeds the carrier's free threshold, there may a surcharge for passing a declared value.
totalDeclaredValue .currencyCodeOptionalStringThe currency code for the declared value
orderFulfillmentParametersOptionalThese represent hints that correspond to shipmentParameters that can be specified ahead of shipment creation on the order. These can be overridden at the time of shipment creation.
orderFulfillmentParameters .saturdayDeliveryOptionalBoolean
true or false
Some carrier service methods deliver on Saturday for free, whereas some charge an additional fee for Saturday delivery. If you do not want to incur extra charges for Saturday delivery, this flag should be set to false, which is the default setting. Service methods that deliver for free on Saturday will still be considered during carrier selection. However, if you are willing to incur more cost and upgrade the carrier service method to meet a Saturday delivery, you can set this flag to true. If this flag is true, only carrier service methods that can deliver on Saturday will be considered. All other service methods will be filtered out of carrier selection.

Note: Setting this flag to true does not guarantee a Saturday delivery, which is dependent upon the carrier. If you have included a desired delivery date (DDD) of Saturday or Sunday, setting this flag to false does not impact the DDD for a Saturday delivery.
orderFulfillmentParameters .thirdPartyBillingSetIdOptionalStringEither the Shipium third party billing set ID or the third party billing set ID provided by your organization. When present, this is used to indicate the third party billing set that should be used for the billing of the shipment.
orderFulfillmentParameters .forceThirdPartyBillingOptionalBoolean
true or false
If true, this indicates that third party billing is a requirement for this shipment. No service method should be selected that does not support third party billing.
orderFulfillmentParameters .fulfillmentContextRequiredStringThe fulfillment context tag value
orderFulfillmentParameters .fulfillmentContextIdRequiredStringThe fulfillment context ID
orderFulfillmentParameters .packagingType .packagingMaterialOptionalString enumeration
Values are:

- box
- envelope
- flat_pack
- mailing_tube
- parcel_pallet
The type of packaging used to create the package for the shipment
orderFulfillmentParameters .packagingType .packagingSizeNameOptionalString
Ex.: 13x12x10 box
A custom name for the packaging
orderFulfillmentParameters .packagingType .packagingTypeIdOptional, but required if linearDimensions is not providedString
Ex.: ebd94f8b-d390-4c9c-987f-b88343f5bf45
The packagingTypeId that was used for this package; when this value is present, the dimensions pre-configured by your organization are used. When this value is absent, linearDimensions is required.
orderFulfillmentParameters .packagingType .linearDimensions .linearUnitOptional, but required if the packagingTypeId is not includedString enumeration
Values are:

- cm (centimeter)
- in (inch)
The unit in which linear dimensions are provided
orderFulfillmentParameters .packagingType .linearDimensions.lengthOptional, but required if the packagingTypeId is not includedNumber ($float)
Ex.: 13
The longest linear dimension (i.e., the longest side of a box or envelope)
orderFulfillmentParameters .linearDimensions.widthOptional, but required if the packagingTypeId is not includedNumber ($float)
Ex.: 12
The second longest linear dimension (i.e., the second longest side of a box or envelope)
orderFulfillmentParameters .linearDimensions.heightOptional, but required if the packagingTypeId is not includedNumber ($float)
Ex.: 10
The least long linear dimension (i.e., the shortest side of a box or envelope).

Note on envelopes: This height should represent the highest product you would reasonably put in this envelope before losing more than 10% of the length of the envelope in other dimensions.
orderFulfillmentParameters .packagingType .packagingWeight.weightUnitOptionalString enumeration
Values are:

- g (gram)
- kg (kilogram)
- lb (pound)
- oz (ounce)
The unit in which weight values are provided
orderFulfillmentParameters .packagingType .packagingWeight.weightOptionalNumber ($float)
Ex.: 50
The value of the weight
orderFulfillmentParameters .totalWeight.weightUnitOptionalString enumeration
Values are:

- g (gram)
- kg (kilogram)
- lb (pound)
- oz (ounce)
The unit in which weight values are provided
orderFulfillmentParameters .totalWeight.weightOptionalNumber ($float)
Ex.: 50
The value of the weight

The response attributes for creating an order are defined in the following table. Response attributes with associated request field descriptions in the table above are not included here.

Response attributeDescription
fulfillmentTypeFulfillment methodology of the shipment
orderSourceThe source of this order whether it is from the Shipium system or externally created
tenantIdEither the Shipium tenant ID or the tenant ID your organization configured in the Shipium system; when present, this is used to indicate the tenant associated with the shipment.
shipiumOrderIdIdentification use to represent the group of delivery estimates purchased
partnerOrderIdThe unique identifier representing this order
orderedDateTimeThe timestamp for when the customer ordered the product; the timestamp is an ISO 8601 timestamp.
orderItemQuantitiesA list of order items comprising the shipment
orderItemQuantities.deliveryEstimateIdThe delivery estimate ID associated with the product
associatedIdentifiersAssociated identifiers that are indexed to identify this order; for example, this can be an LPN that is bound to the order.
shipOptionA high-level shipping option shown to or selected by a customer
originIdThe origin to which the order is assigned
shipFromAddressThe address of the location where the package is being shipped
destinationAddressThe address of the location where the package is being delivered
customsInfoCustoms information about the package for international shipping
totalDeclaredValueThe total monetary amount of the declared value for the package
orderFulfillmentParametersThese represent hints that correspond to Shipment Parameters that can be specified ahead of shipment creation on the order. These can be overridden at the time of shipment creation.
orderStatusState of the order

Search an order

The search endpoint returns results in pages. Order search results will contain the following response headers with data on how to access the previous and next pages in the total body of results based on the count (page size) request parameter you pass in your API call.

Response header element. X-Page-Next represents the start of the next page of order search results. To access the next page, you'll call the Order Search API again with the value of this field in the anchor request parameter. If this response header is null or missing, it means that this is the last page of the order search results.

Response header element. X-Page-Previous represents the start of the previous page of order search results. To access the previous page, you'll call the Order Search API again with the value of this field in the anchor request parameters. If this response header is null or missing, it means that this is the first page of the order search results.

Response header element. X-Total-Count represents the total number of orders matching the request parameters sent in the order search request.

The endpoint for searching an order with the Pack App API is included in the table below.

Example cURL call to search an order

This example shows a request to search an order.

curl --request GET \
--location "https://api.shipium.com/api/v1/packShip/order/search?associatedIdentifiers=lpn-barcode%3A12345&anchor=0&count=50" \
--header 'Accept: application/json' \
--header $AUTHSTRING

Example response body for an order search

[
  {
    "fulfillmentType": "customer",
    "orderSource": "external",
    "shipiumOrderId": "4dc43fff-c3af-4d7b-8a18-e01f2b4cb312",
    "partnerOrderId": "partner-order:12345",
    "associatedIdentifiers": [
      "lpn-barcode:12345"
    ],
    "tenantId": null,
    "orderedDateTime": "2025-03-15T10:10:00.111111Z",
    "orderItemQuantities": [
      {
        "shipiumOrderId": "4dc43fff-c3af-4d7b-8a18-e01f2b4cb312",
        "partnerOrderId": "partner-order:12345",
        "orderItemReferenceIdentifier": "partner-order:12334_item:1",
        "hazmat": false,
        "hazmatInfo": null,
        "productTaxCode": null,
        "nmfcCode": null,
        "nmfcFreightClass": null,
        "productId": "partner-product:12345",
        "quantity": 3,
        "productDetails": null
      }
    ],
    "shipFromAddress": null,
    "originId": "<ORIGIN-ID/PARTNER-PROVIDED-ORIGIN-ID FROM PARTNER CONFIG IN SHIPIUM>",
    "destinationAddress": {
      "name": "Wile E. Coyote",
      "phoneNumber": "9995551234",
      "phoneNumberCountryCode": "+1",
      "emailAddress": "[email protected]",
      "company": "ACME",
      "street1": "123 Main St.",
      "street2": "Suite 42",
      "city": "Albuquerque",
      "state": "NM",
      "countryCode": "US",
      "postalCode": "87121",
      "addressType": "residential",
      "addressLineComponents": null
    },
    "shipOption": null,
    "customsInfo": null,
    "totalDeclaredValue": null,
    "orderFulfillmentParameters": {
      "saturdayDelivery": false,
      "thirdPartyBillingSetId": null,
      "forceThirdPartyBilling": false,
      "fulfillmentContext": "<FCTX-ID/PARTNER-PROVIDED-FCTX-ID FROM PARTNER CONFIG IN SHIPIUM>",
      "fulfillmentContextId": null,
      "packagingType": null,
      "totalWeight": null
    }
  }
]

Request and response fields for searching an order

The following table provides required and optional fields for calling the Pack App API to search an order. You can find additional support in the Pack App API Reference.

Request fieldRequired/OptionalField propertiesDescription
shipiumTenantIdOptionalStringIf provided, this will be used to constrain the search to a specified Shipium tenant ID.
associatedIdentifiersOptionalStringSearch by associated identifiers. Identifiers are not constrained to be unique across orders.
fromDateOptionalString ($date-time)
Ex.: 2019-10-29T01:12:33.123456Z
Bounds of the oldest order date on which to search for orders
toDateOptionalString ($date-time)
Ex.: 2019-10-29T01:12:33.123456Z
Bounds of the newest order date on which to search for orders
orderStatusesOptionalString enumerationOrder statuses by which to constrain results
anchorOptionalStringIdentifier for the current page of data
countOptionalLongThe number of results to include on each page of the response

The response attributes for searching an order are defined in the following table. Some response attributes are associated with the request fields described in the request fields table for calling the Pack App API to create an order. Those attributes are not listed here.

Response attributeDescription
fulfillmentTypeFulfillment methodology of the shipment
orderSourceThe source of this order whether it is from the Shipium system or externally created
tenantIdEither the Shipium tenant ID or the tenant ID your organization configured in the Shipium system; when present, this is used to indicate the tenant associated with the shipment.
shipiumOrderIdIdentification use to represent the group of delivery estimates purchased
partnerOrderIdThe unique identifier representing this order
orderedDateTimeThe timestamp for when the customer ordered the product; the timestamp is an ISO 8601 timestamp.
orderItemQuantitiesA list of order items comprising the shipment
orderItemQuantities.deliveryEstimateIdThe delivery estimate ID associated with the product
associatedIdentifiersAssociated identifiers that are indexed to identify this order; for example, this can be an LPN that is bound to the order.
shipOptionA high-level shipping option shown to or selected by a customer
originIdThe origin to which the order is assigned
shipFromAddressThe address of the location where the package is being shipped
destinationAddressThe address of the location where the package is being delivered
customsInfoCustoms information about the package for international shipping
totalDeclaredValueThe total monetary amount of the declared value for the package
orderFulfillmentParametersThese represent hints that correspond to Shipment Parameters that can be specified ahead of shipment creation on the order. These can be overridden at the time of shipment creation.
orderStatusState of the order

Get an order

The endpoint for getting an order with the Pack App API is included in the table below.

Required path element. orderId or partnerOrderId (Replace with either Shipium’s order identifier or your own, if provided when the order was created.)

Example cURL call to get an order

This example shows a request to get an order. You'll call the api/v1/packShip/order endpoint and append your own order number to the call, like the one shown in the example.

curl --request GET \
--location "https://api.shipium.com/api/v1/packShip/order/4dc43fff-c3af-4d7b-8a18-e01f2b4cb312" \
--header 'Accept: application/json' \
--header $AUTHSTRING

Example response body for getting an order

{
  "fulfillmentType": "customer",
  "orderSource": "external",
  "shipiumOrderId": "4dc43fff-c3af-4d7b-8a18-e01f2b4cb312",
  "partnerOrderId": "partner-order:12345",
  "associatedIdentifiers": [
    "lpn-barcode:12345"
  ],
  "tenantId": null,
  "orderedDateTime": "2025-03-15T10:10:00.111111Z",
  "orderItemQuantities": [
    {
      "shipiumOrderId": "4dc43fff-c3af-4d7b-8a18-e01f2b4cb312",
      "partnerOrderId": "partner-order:12345",
      "orderItemReferenceIdentifier": "partner-order:12334_item:1",
      "hazmat": false,
      "hazmatInfo": null,
      "productTaxCode": null,
      "nmfcCode": null,
      "nmfcFreightClass": null,
      "productId": "partner-product:12345",
      "quantity": 3,
      "productDetails": null
    }
  ],
  "shipFromAddress": null,
  "originId": "<ORIGIN-ID/PARTNER-PROVIDED-ORIGIN-ID FROM PARTNER CONFIG IN SHIPIUM>",
  "destinationAddress": {
    "name": "Wile E. Coyote",
    "phoneNumber": "9995551234",
    "phoneNumberCountryCode": "+1",
    "emailAddress": "[email protected]",
    "company": "ACME",
    "street1": "123 Main St.",
    "street2": "Suite 42",
    "city": "Albuquerque",
    "state": "NM",
    "countryCode": "US",
    "postalCode": "87121",
    "addressType": "residential",
    "addressLineComponents": null
  },
  "shipOption": null,
  "customsInfo": null,
  "totalDeclaredValue": null,
  "orderFulfillmentParameters": {
    "saturdayDelivery": false,
    "thirdPartyBillingSetId": null,
    "forceThirdPartyBilling": false,
    "fulfillmentContext": "<FCTX-ID/PARTNER-PROVIDED-FCTX-ID FROM PARTNER CONFIG IN SHIPIUM>",
    "fulfillmentContextId": null,
    "packagingType": null,
    "totalWeight": null
  }
}

Response attributes for getting an order

The response attributes for getting an order are defined in the following table. Some response attributes are associated with the request fields described in the request fields table for calling the Pack App API to create an order. Those attributes are not listed here.

Response attributeDescription
fulfillmentTypeFulfillment methodology of the shipment
orderSourceThe source of this order whether it is from the Shipium system or externally created
tenantIdEither the Shipium tenant ID or the tenant ID your organization configured in the Shipium system; when present, this is used to indicate the tenant associated with the shipment.
shipiumOrderIdIdentification use to represent the group of delivery estimates purchased
partnerOrderIdThe unique identifier representing this order
orderedDateTimeThe timestamp for when the customer ordered the product; the timestamp is an ISO 8601 timestamp.
orderItemQuantitiesA list of order items comprising the shipment
orderItemQuantities.deliveryEstimateIdThe delivery estimate ID associated with the product
associatedIdentifiersAssociated identifiers that are indexed to identify this order; for example, this can be an LPN that is bound to the order.
shipOptionA high-level shipping option shown to or selected by a customer
originIdThe origin to which the order is assigned
shipFromAddressThe address of the location where the package is being shipped
destinationAddressThe address of the location where the package is being delivered
customsInfoCustoms information about the package for international shipping
totalDeclaredValueThe total monetary amount of the declared value for the package
orderFulfillmentParametersThese represent hints that correspond to Shipment Parameters that can be specified ahead of shipment creation on the order. These can be overridden at the time of shipment creation.
orderStatusState of the order

Resources

Your Shipium team member is available to help along the way. However, you might find these resources helpful: