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



Update Tracking Information

The tracking information of a shipment can be added and updated with one API that accepts the same structure for each task. This information can not only include the tracking number for the package, but also properties such as the carrier details, transit time, a URL to the tracking page, and more.

Supported FormatsJSON

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


This example will set a shipment’s tracking information based on the following properties:

  • Shipment ID – 0123456
  • Carrier Information – UPS, 1-2 days

Required Parameters

Setting and updating tracking information requires the following properties:

shipmentIDintegerA unique identifier for the shipment. The minimum value is “1”.
trackingInformationarrayThe tracking information for the shipment.
sendEmailsbooleanShould emails be sent? The default value is “true”.

Optional Parameters

The two optional properties can be used to provide more details about the shipment if desired.

shipmentDatestringThe shipment date. Supports date-time format.
externalShipmentIDstringAn externally defined shipment reference identifier.

Tracking Information

Tracking Information is an object that only requires the trackingNumber, but also has additional parameters:

trackingNumberstringThe shipment’s tracking number. The maximum length is 50.
deliveryTypestringThe shipment’s shipping method.
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.
trackingURLstringThe URL to track the shipment. The maximum length is 400.

Shipment Tracking Numbers

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 the typical tracking numbers in OMS, but be aware that there may be some variations from the carriers.

CarrierLengthFormat ExamplesDescription
UPS11, 12, or 181Z9999999999999999, 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.
USPS13 or 20EE999999999EE, 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.
FedEx12 or 7-22999999999999Express shipments have a length of 12. All tracking numbers are numeric.
DHL2-119999999999May not be all 0s. The most common length is 10. Note that these rules apply only to basic DHL shipping; the DHL NextDay service does not have tracking number validation built into OMS, due to unknown format rules.
Royal Mail14EEE999999999GBAlphanumeric, ends with “GB.”
Deutsche Post11999999999EEAlphanumeric.
La Poste13EE999999999EEAlphanumeric.
Canada Post11, 13, or 1699999999999, EEE999999999E, 9999999999999999All numeric except for when a length of 13. In that case, it may be alphanumeric.
DPD (UK)10+99999999999999Usually numeric.
DPD (DE)14EEEE99999999994 alphanumeric, followed by 10 numerals.
UK Mail9-1499999999999999Usually numeric.

The Full Request

This is the entire request that will update the shipment’s tracking information to the example details.

       "transitTime":"1-2 Days"

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