These guides provide examples for many tasks that a developer will need to be familiar with during implementation.



Fulfill Shipment

The Fulfill Shipment action ID will set the initial tracking information when all items in the shipment have been shipped. This will also put the shipment in the final completePackage state.

Supported FormatsJSON

The .json address above can be used to access the schema within Postman. An example use of the Fulfill Shipment API follows below, or view the schema or the sample Postman Collection.


The example case will fulfill a shipment with the following properties:

  • Shipment ID – 090909
  • Carrier Information – UPS, 1-2 days
  • Tracking Information – Tracking Number 0123456789

Required Parameters

Fulfilling a shipment requires:

shipmentIDintegerA unique identifier for the shipment. The minimum value is “1”.
shipmentDatestringThe date the shipment was shipped. Supports date-time format.
trackingInformationarrayThe tracking information for this shipment.
sendEmailsbooleanShould emails be sent? The default is “true”.

Optional Parameters

There is only one optional property:

externalShipmentIDstringAn externally defined shipment reference identifier. The minimum length is 1 and the maximum length is 10.

Tracking Information

The tracking information (/trackingInformation/[object]) for a shipment includes the following parameters, but only requires trackingNumber.

trackingNumberstringThe shipment’s tracking number. The maximum length is 50.
deliveryTypestringThe shipment’s shipping method. This parameter is read-only. Do not attempt to set this value.
carrierTypeenumThe carrier (USPS, FedEx, etc.) delivering the shipment. See the schema for a full list of possible values.
carrierTypeOtherstringThe carrier’s name if it is not one of Kibo’s listed carriers. The maximum length is 20.
transitTimestringThe time the shipment is expected to be in transit. The maximum length is 50.
returnTrackingNumberstringThe shipment’s return tracking number.
trackingURLstringThe URL to track the shipment. The maximum length is 400.

Supported Carriers and Tracking Numbers

The full list of carrier options that OMS supports are:

USPS DPD (UK) Interlink Express (UK)
FedEx Canada Post (CA) La Poste (FR)
FedEx Freight CanPar (CA) Deutsche Post (DE)
FedEx UK (UK) DICOM Express (CA) Swiss Post (CH)
FedEx SmartPost Purolator (CA) Bartolini (IT)
DHL Royal Mail (UK) GLS
DHL (CA) Parcel Force (UK) Italian Post (IT)
DHL (DE) PostNL (NL) OnTrac
DHL (UK) Swedish Post (SE) APC Overnight (UK)
DHL NextDay TNT (UK) UK Mail
DPD (DE) City Link (UK) Other

The tracking number formats that OMS supports are based on each carrier’s unique rules. If OMS cannot validate a tracking number based on its known rules, it will attempt to validate the number on the carrier’s system. The chart below describes how to format tracking numbers for some of the most common carriers, but be aware that there may be some variations.

Carrier Length Format Examples Description
UPS 11, 12, or 18 1Z9999999999999999, 999999999999, T9999999999. When a length of 18, the first values are 1Z followed by a 6-character shipper number, a 2-digit service level indicator, and an 8-digit package number.
USPS 13 or 20 EE999999999EE, 99999999999999999999. When a length of 13, it is alphanumeric with the first value being E,C, or V and the second value being E, C, D, P, S, V, or W. E is for Express. When a length of 20, all values are numeric.
FedEx 12 or 7-22 999999999999 Express shipments have a length of 12. All tracking numbers are numeric.
DHL 2-11 9999999999 May not be all 0s. The most common length is 10.
Royal Mail 14 EEE999999999GB Alphanumeric, ends with “GB.”
Deutsche Post 11 999999999EE Alphanumeric.
La Poste 13 EE999999999EE Alphanumeric.
Canada Post 11, 13, or 16 99999999999, EEE999999999E, 9999999999999999 All numeric except for when a length of 13. In that case, it may be alphanumeric.
DPD (UK) 10+ 99999999999999 Usually numeric.
DPD (DE) 14 EEEE9999999999 4 alphanumeric, followed by 10 numerals.
UK Mail 9-14 99999999999999 Usually numeric.

The Full Request

This is the entire request that will fulfill a shipment.

    "shipmentID": 090909, 
    "trackingInformation": [ 
        "trackingNumber": 0123456789, 
        "carrierType": "UPS", 
        "transitTime": "1-2 Days"
    "shipmentDate": "2017-09-08T17:09:03+00:00"

The returned response follows the same structure as the Get Shipment API, providing information about the shipment that was fulfilled.