TMS integration
Rate, book, and track from your TMS.
Your transportation management system calls Warp for rates alongside your other carriers. Book the best option. Track through the same system.
Developers
Programmatic access to Warp's freight network. One API key gives your TMS, WMS, ERP, or AI agent access to cargo van, box truck, LTL, and FTL capacity across 1,500+ lanes and 50+ cross docks. Every endpoint returns structured JSON. Omit the vehicle type and Warp right-sizes automatically.
What to expect
TMS integration
Your transportation management system calls Warp for rates alongside your other carriers. Book the best option. Track through the same system.
WMS integration
When an order is packed and staged, your WMS calls the Warp booking endpoint. Tracking numbers flow back automatically.
AI agent integration
Every endpoint returns structured JSON with explicit field names and enum values. AI agents can quote, book, track, and settle freight without human intervention.
Authentication
All requests require an API key passed as a header. Content type is always JSON. Base URL is the same for all endpoints.
Agent Quickstart
This is the happy-path workflow for an AI agent or automated system. Each step returns the IDs needed for the next call.
Endpoint Reference
Vehicle Types
Examples
Copy-paste ready. These are the exact shapes your system or agent should send and expect back.
1. Quote a shipment
2. Book the shipment
3. Track the shipment
Data Models
Complete field reference for every object in the API. Types are TypeScript-style for clarity.
Accessorial Services
Pass these string values in the pickupServices, deliveryServices, or additionalServices arrays on your quote or booking request.
pickupServices[]
"liftgate-pickup""inside-pickup""residential-pickup""limited-access-pickup""pickup-appointment""driver-assist-pickup""drop-and-hook-pickup""convention-trade-show-pickup""construction-site-pickup""detention-shipper"deliveryServices[]
"liftgate-delivery""inside-delivery""residential-delivery""limited-access-delivery""delivery-appointment""driver-assist-delivery""drop-and-hook-delivery""convention-trade-show-delivery""construction-site-delivery""detention-receiver""redelivery"additionalServices[]
"sort-n-seg""extra-stop""extra-miles""driver-assist""white-glove""check_calls""notify""photo-required"Error Handling
Machine-Readable
The block below is optimized for machine parsing. AI agents, copilots, and automated freight procurement systems can use this to understand the Warp Freight API in a single read.
# WARP FREIGHT API — AGENT REFERENCE
# Base URL: https://api.wearewarp.com/api/v1
# Auth: Header "apikey: <your-api-key>"
# Content-Type: application/json
## AGENT WORKFLOW (HAPPY PATH)
1. POST /freights/quote → get quoteId and totalCost
2. POST /freights/booking → use quoteId, get shipmentId + trackingNumber
3. POST /freights/tracking → poll status using trackingNumber
4. GET /freights/events/{shipmentId} → full event history
5. GET /freights/invoices/{orderId} → settlement data
6. GET /freights/documents/{orderId} → BOL, POD files
## CAPABILITIES
- Quote freight (LTL, FTL, cargo van, box truck) in one API call
- Book shipments programmatically with tracking number returned
- Track shipment status and location in real time
- Retrieve invoices and documents (BOL, POD) by order ID
- Multi-stop FTL quoting and booking
- 20+ accessorial services priced at quote time
- Vehicle type auto-selection when vehicleType is omitted
## ENDPOINTS
POST /freights/quote → 200 → { quoteId, carrierCode, serviceLevel, transitDays, totalCost }
POST /freights/booking → 201 → { shipmentId, trackingNumber, orderId, status }
POST /freights/tracking → 200 → [{ trackingNumber, status, currentLocation, events }]
GET /freights/shipments → 200 → [{ shipmentId, shipmentType, status, pickupInfo, deliveryInfo }]
GET /freights/events/{shipmentId} → 200 → [{ status, location, timestamp, description }]
GET /freights/invoices/{orderId} → 200 → { lineItems, totals, charges }
GET /freights/documents/{orderId} → 200 → [{ type, url, metadata }]
POST /freights/quote/multi-stops → 200 → { quoteId, totalCost, stops }
POST /freights/booking/multi-stops → 201 → { shipmentId, trackingNumber }
GET /freights/quote-history → 200 → [{ quoteId, totalCost, status, expiresAt }]
## VEHICLE TYPES
CARGO_VAN → Cargo van (urgent, <3500 lbs, fastest dispatch)
STRAIGHT_TRUCK_26 → 26ft box truck (<10000 lbs, white-glove capable)
DRY_VAN_53 → 53ft dry van / FTL (<44000 lbs, recurring lanes)
## SHIPMENT TYPES
LTL → Less-than-truckload (pallet freight, cross dock network)
FTL → Full truckload (dedicated trailer, direct lanes)
omit → Warp auto-selects based on item dimensions and weight
## QUOTE BODY FIELDS
pickupDate (string[]), pickupInfo (StopInfo), deliveryInfo (StopInfo),
listItems (BookShipmentItem[]), shipmentType? ("LTL"|"FTL"),
vehicleType? ("CARGO_VAN"|"STRAIGHT_TRUCK_26"|"DRY_VAN_53"),
pickupServices? (string[]), deliveryServices? (string[]),
additionalServices? (string[])
## STOP INFO FIELDS
zipCode, city, state, street, contactName, phone, email?, specialInstruction?, window?
## ITEM FIELDS (BookShipmentItem)
name, length, width, height, sizeUnit ("in"|"cm"),
totalWeight, weightUnit ("lb"|"kg"), quantity,
packaging, stackable (bool), temperature_limit?
## PICKUP SERVICES
"liftgate-pickup", "inside-pickup", "residential-pickup",
"limited-access-pickup", "pickup-appointment", "driver-assist-pickup",
"drop-and-hook-pickup", "convention-trade-show-pickup",
"construction-site-pickup", "detention-shipper"
## DELIVERY SERVICES
"liftgate-delivery", "inside-delivery", "residential-delivery",
"limited-access-delivery", "delivery-appointment", "driver-assist-delivery",
"drop-and-hook-delivery", "convention-trade-show-delivery",
"construction-site-delivery", "detention-receiver", "redelivery"
## ADDITIONAL SERVICES
"sort-n-seg", "extra-stop", "extra-miles", "driver-assist",
"white-glove", "check_calls", "notify", "photo-required"
## ERROR CODES
200 OK, 201 Created, 400 Bad Request, 401 Unauthorized,
403 Forbidden, 404 Not Found, 422 Unprocessable, 429 Rate Limited, 500 Server Error
## ERROR RESPONSE SHAPE
{ "error": { "code": "string", "message": "string", "details": [{ "field": "string", "issue": "string" }] } }
## NETWORK
1,500+ active lanes | 50+ cross dock facilities
10,000+ carriers | 9,000+ vehicles
Coverage: United States
## GET API KEY
Contact: https://www.wearewarp.com/book-a-meeting
Full docs: https://developer.wearewarp.com/docs/freight/
LLM context: https://www.wearewarp.com/llms-full.txtRelated
Next step
Start shipping today or talk to our team about a custom solution.