Kindersley API Request

version 1.0 Last Updated 2026-09-20=

Welcome to the Kindersley API reference. Use these endpoints to look up shipment status (Tracing), request LTL / TL rates, and submit pickup orders.

Important Please test in the QA environment first. Production requests can create live dispatch activity.

Base URLs (append the method name to either base):

Production

https://onlinetools.kindersleytransport.com/WS/Service1.svc/

QA / Test

https://onlinetools.kindersleytransport.com/WS_Test/Service1.svc/

Authentication

To call any Tracing, Pickup or Rating endpoints, you must first authenticate using your Kindersley Online credentials to retrieve a temporary session Token and your associated account number.

Credential Required: If you do not have web Login ID and Password, Please contact your Account Manager to set up onlin access.

Use KiELogin to retrieve a Rates / Pickup / Pickup Trace token:

https://onlinetools.Kindersley.com/WS_Test/Service1.svc/GetLogin?Email={Email}&PWD={PWD}&TYPE={TYPE}

Include the returned Token on later calls (for example KiRatesRequest?Token={TOKEN}&Rate={RATE}).

Token Types:

  • TRACE (for tracking shipments)
  • PU (to submit pickup orders)
  • RATES (to fetch rates and spot quotes)

Tracing Request

Tracing endpoints return shipment status, images, and tracing information. All methods below are GET and use a KIELogin token

Method Endpoint
KITraceByPro
.../KITraceByPro?Token={TOKEN}&PRO={PRO}
KITraceByPO
.../KITraceByPO?Token={TOKEN}&PO={PO}
KITraceByBOL
.../KITraceByBOL?Token={TOKEN}&BOL={BOL}
KITraceByRef
.../KITraceByRef?Token={TOKEN}&Type={TYPE}&Ref={REF}
KIPDFImages - returns PDF
.../KIPDFImages?TOKEN={TOKEN}&PRO={PRO}
KIQuickTrack
.../KIQuickTrack?PRO={PRO}
KITransitTime
.../KITransitTime?Token={TOKEN}&FrCity={FRCITY}&FrProv={FRPROV}&ToCity={TOCITY}&ToProv={TOPROV}&PUDate={PUDATE}
KIPUQuickTrace
.../KIPUQuickTrace?Ref={REF}
KIPURefTrace
.../KIPURefTrace?TOKEN={TOKEN}&Ref={REFERENCE}

Full example:

https://onlinetools.Kindersley.com/WS_Test/Service1.svc/GetStatusByPro?Token={TOKEN}&PRO={PRO}

Vitrac Response

Example below is a partial successful response from KITraceByRef. Other status endpoints (KITraceByPro, KITraceByPO, etc.) return a similar MoreStatus / TraceLog structure.

Field Type Description
HasResult Boolean True when matching shipment(s) were found
MoreStatus Array Shipment summary rows (PRO, status, shipper, consignee, etc.)
MoreStatus[].PRO String PRO / shipment number
MoreStatus[].Status String Current shipment status text
TraceLog Array Tracing history for the shipment
TraceLog[].LogDetails Array Event list with LogDate / LogEvent / LogTime
TraceLog[].RouteDetails Array Route milestones (RouteDate, RouteTime, RouteInfo, RouteLoc, RouteETA)
TraceLog[].RefuseReason String Error reason when tracing fails

Tracing Status Lists

Status values returned in Vitrac responses (for example MoreStatus[].Status and TraceLog events).

Status Description
Pending Assign Driver Order has been created, but a specific driver has not yet been allocated to handle the transport.
Driver Acknowledged An assigned driver has received, reviewed, and formally confirmed acceptance of a dispatch.
Driver Arrived Assigned driver has physically reached the destination location.
Cancelled Order cancelled.
Dispatched to driver Order has been officially sent and assigned to a specific driver.
Driver Enroute Assigned driver is actively traveling toward their destination, typically either heading to the pickup location (shipper) or toward the delivery point (consignee).
Picked Up Shipment has been successfully loaded onto the vehicle and has departed from the shipper's location.
In Process Shipment is currently being actively worked on, handled, or processed by the system or operations team.
Loaded on Unit Shipment has been physically placed and secured onto the transport unit.
Transit Delay An unexpected postponement or interruption in the movement of a shipment.
In Transit Shipment has departed the origin facility or pickup location and is actively moving along its route toward the destination.
ETA or Revised ETA Estimated Time of Arrival.
Arrived Shipment, truck, or delivery unit has physically reached its target destination.
Handed over to Beyond Shipment has been transferred to a third-party partner, interline carrier, or agent for final delivery.
Scheduled for Delivery Shipment has been assigned a specific date and time window for final drop-off at the consignee's location.
Loaded on Del Unit Shipment has been loaded onto a local delivery truck or P&D (Pickup and Delivery) vehicle.
On Delivery Shipment is currently out on the local delivery vehicle and undergoing its final delivery run to the consignee.
Attempted Delivery Delivery driver or carrier arrived at the consignee's location to drop off the shipment, but was unable to complete the delivery.
Delivered Final status indicating that the shipment has been successfully handed over to the consignee or destination recipient.

Rates Request

Rate endpoints accept a token and a URL-encoded Rate JSON payload. All methods below are GET.

Method Endpoint
KiRatesRequest
.../KiRatesRequest?Token={TOKEN}&Rate={RATE}
KITLRates (Truckload account only)
.../KITLRates?Token={TOKEN}&Rate={RATE}

Full example:

https://onlinetools.Kindersley.com/WS_Test/Service1.svc/KIRatesRequest?Token={TOKEN}&Rate={RATE}

Rate JSON fields

URL-encode the JSON below and pass it as the Rate query parameter.

Field Type Required Description
Acct String Yes AS400 account returned from GetLogin
TermType String Yes P = Prepaid, C = Collect
CommAcct String Optional 3rd-party account associated with shipper/consignee (from Login)
Company String Yes Name of company submitting the rate request.
Contact String Yes Name of person requesting the quote.
Phone String Yes Contact phone number — 10 digits, no spaces or special characters (e.g. 4161231234)
Email String Yes Contact Email Address.
Declare_Val Integer Yes Declared value of shipment (default 0)
Currency String Optional Currency code: C (Canadian CAD)
OrigCity String Yes Origin City (e.g. Richmond Hill)
OrigProv String Yes Origin Province (2-letter abbreviation e.g., ON)
DestCity String Yes Destination City (e.g. Vancouver)
DestProv String Yes Destination Province (2-letter abbreviation e.g., BC)
Linear_Over10 String Yes Y if shipment is over 10 linear feet; N if under 10 linear feet
Stackable String Yes Y (Stackable) or N (Non-Stackable).
Dang String Yes Dangerous Goods flag: Y or N
DangUnNo String Conditional Required if Dang = Y. Declared UN Number.
ServiceType String Yes R (Regular), M (Maxx Expedited), P (Priority Rail — NFF customers only). No Maxx on TL rates.
Heat String Conditional Protect from Freezing (Heated): Y or N.
TailGatePU String Yes Power tailgate at pickup: Y or N. Excluded on TL rates.
TailGateDel String Optional Power tailgate at delivery: Y or N. Excluded on TL rates.
InsidePU String Optional Inside pickup: Y or N. Excluded on TL rates.
InsideDel String Optional Inside delivery: Y or N. Excluded on TL rates.
ResPU String Optional Residential pickup: Y or N. Auto-includes TailGate + Appointment Delivery. Excluded on TL rates.
ResDel String Optional Residential delivery: Y or N. Excluded on TL rates.
AptDel String Optional Appointment Delivery: Y or N.
ConStrDel String Optional Construction Site Delivery: Y or N.
LimAccPU String Optional Limited access pickup: Y or N. Auto-includes Appointment. Excluded on TL rates.
LimAccDel String Optional Limited access delivery: Y or N. Auto-includes Appointment. Excluded on TL rates.
SpecInstr String Optional Special Instructions
Language String Optional Language for output: EN (English) or FR (French)
GetSQNumber Boolean Optional Set to true to request a Spot Quote Number
DetailsObjects Array Yes Line items (Qty, UOM, Length, Width, Height, weight, etc.)

Line item details schema (DetailsObjects)

Field Type Required Description
Qty Integer Yes Piece or handling unit quantity (e.g. 3).
UOM String Yes Unit of Measure: SKD (Skid), PCS (Pieces), CAR (Cartons).
Is_Inch String Optional Dimensions unit: Y or blank for inches; N for centimeters (CM)
Length Integer Yes Length measurement (e.g. 48). For TL rates, you may use 1.
Width Integer Yes Width measurement (e.g. 40). For TL rates, you may use 1.
Height Integer Yes Height measurement (e.g. 40). For TL rates, you may use 1.
Is_LB String Optional Weight unit: Y for Pounds (LB), N for Kilograms (KG)
Weight Integer Yes Total Weight for the line item (e.g., 1000)
Desc String Optional Description of cargo (e.g., Coffee Beans).

Rates Response

A successful rate call returns quote details (charges, notes, transit time, and optional spot quote number).

Field Type Description
HasResult Boolean True when a quote was returned successfully
Charge String Freight charge line text
ChargeOthers String Accessorial / FSC and other charges
ChargeSubTtl String Subtotal line text
ChargeTotal String Total charges line text
RequestInfo String Summary of the rate request (date, account, terms, service)
RequestInfoD String Line-item / dimension summary
Remarks String Weight, rate, charge, and lane summary
Notes String Quote notes / disclaimers
TransitTime String Estimated transit time
SpotQuoteNbr String Spot quote number when requested
SpotQuoteNotes String Additional spot quote notes
RefuseCode String Error code when quote fails

Pickup Request

Pickup endpoints accept a token and a URL-encoded Order JSON payload. All methods below are GET.

Important Production pickup requests are queued for dispatch. Test in QA first.
Method Endpoint
KIPickup
.../KIPickup?Token={TOKEN}&Order={ORDER}

Full example:

https://onlinetools.Kindersley.com/WS_Test/Service1.svc/KiPickup?Token={TOKEN}&Order={ORDER}

An email confirmation is sent to the address in the Email field.

Order JSON fields

Field Type Required Description
Company String Yes Shipper company name
Contact String Yes Contact person name
Addr1 String Yes Shipper street address
City String Yes Shipper city
Prov String Yes Shipper province, 2 characters only (e.g. ON)
Postal String Yes Shipper postal/zip code (e.g., M1C2Y9)
Country String Yes Country code (CA)
AcctCode String Conditional Required for KI pickups only
Email String Yes Confirmation email recipient. Separate multiple addresses with ;
Phone String/Int Yes 10-digit phone number (digits ONLY, no dash or slash)
PhoneExt String No Phone extension
AptDate String/Int Yes Pickup date in yyyyMMdd format (e.g., 20260506)
AptTime String No Ready Time in HHmmtt format. Defaults to 0900AM if blank
CutOffTime String No Cutoff time in HHmmtt format. Defaults to 0500PM if blank
Dang String Yes Dangerous goods indicator (Y/N)
Heat String Yes Protect from freezing / heated service (Y/N)
Tailgate String No Tailgate required (Y/N). Appears in Special Instructions if Y
InsidePU String No Inside pickup required (Y/N). Appears in Special Instructions if Y
PayMethod String Yes Payment terms: PP (Prepaid), CC (Collect), TP (3rd Party)
PURef String No Customer pickup reference number
SpecialInstruction String No Special instruction. Do NOT use special characters, especially quotes (' or ")
Language String No Preferred language: EN or FR (default: EN)
GetProNo Boolean No True to assign and return a Vitran PRO number (requires a single consignee)
DetailsObjects Array Yes Shipment line details. See JSON example.

Pickup Details Schema

Field Type Required Description
Pro Integer Yes Vitran PRO#. If no PRO# exists yet, use a sequence index per shipment (e.g. 1, 2, 3).
Qty Integer Yes Quantity of pieces/handling units.
UOM String Yes Unit of measure. Valid values: SKD (Skid), PCS (Pieces), PUU (Pickup Unit), TL (Full Load), SWT (Switch), CRA (Crate), SPT (Drop), FT (Feet), REL (Reels), SSP (Skid Spots), SSK (Stackable Skids), TOT (Totes)
Weight Integer Yes Total weight in pounds (lbs).
Description String No Description of goods (e.g., Drinks).
ConName String No Consignee company name.
ConAddr String No Consignee street address.
ConCity String Yes Consignee city (e.g., CALGARY).
ConProv String Yes Consignee Province (e.g., AB).
ConPostal String No Consignee postal code.
ConPhone String No Consignee phone number (used for BOL rendering).
Maxx String Yes Expedited Maxx service (Y/N). Default to N.
Reference String No Shipment reference number (up to 9 characters)

Pickup Response

A successful pickup request returns a reference number and status.

Field Type Description
Reference String Pickup reference number
SubmitStatus String SUCCESS or empty / error indicator
Pro String PRO number when GetProNo is used
RefuseCode String Error code when request is refused
RefuseReason String Human-readable refuse message

Errors

When a request fails validation, the API returns a refuse code and reason.

Code Meaning
10Incorrect PO#
11Incorrect BOL#
12Incorrect Token
13Over max submit
14Please make sure to enter valid email addresses.
15Please put in City
16Invalid Province Abbreviations
17Please put in Postal
18The City you have entered is incorrect
19Sorry, we do not service to xxx
20Ready and Cutoff Time over PU window
21Please put in Shipper's Name
22Please put in Address
23Please put in Contact
24Please put in Phone Number
25Please put in Quantity
26Exceeded max skid count per trailer
27Invalid Consignee Province Abbreviations
28Please enter Destination City
29Pickup Date cannot be prior to today's date
30Account Suspended
31PU Account Frozen
32Missing Mandatory Info
33Missing Shipment Term (PP/CC/TP)
34Please indicate whether or not this shipment will be less than 10 linear feet
35Please indicate whether or not this shipment can be stackable.
36Tailgate usage (pickup or delivery): maximum tailgate weight 1800 lbs
37Please enter UN# for Dangerous Goods
38Dimension of pallet must be specified
39Weight must be specified for class
40Please provide Kindersley Account Code
41No rate setup for the account. Please contact Rate Department.
42Invalid Destination City and Province
43Invalid Origin City and Province
44Connection issue, try again later
45No Records Found
46Local cartage is not available.
47Service is not available for this route. Please contact your local Kindersley representative for details.
48No expedited service for the lanes you chose
49Incorrect UOM
50Declared value cannot exceed $10.00/lb
51Please enter quantity for pallet
52You are not allowed to look up rates from the API
53Please submit Spot Quote from www.Kindersleytransport.com
54Invalid Currency
55Incorrect Account
56No Rates Found
57Incorrect Password
58Incorrect Login Email
59Not found or does not belong to this account
60We do not handle shipment Length/Width/Height over
61Dangerous Goods Error
62Inside delivery is not permitted on residential deliveries; we offer curbside delivery only.
63Invalid JSON format or parsing error
64There is only one shipment that needs a BOL generated.
65Truckload rates exclude residential, tailgate, and inside services.
66Over max weight for Intermodal service
67Truckload rates are not enabled for this account.
68Quote has been submitted to our pricing department for review.