Ship Your First Load in 5 Minutes
A step by step guide to quoting, booking, and tracking LTL freight with Warp's self-serve REST API. Works with curl, Python, Node.js, or any API-capable coding assistant.
Bearer auth · Sandbox keys · REST API · JSON · Standard HTTP
Prerequisites
- -A Warp API account from /agents/account
- -A wak_live_* API key and a payment card on file before production booking
- -Any HTTP client: curl, Postman, Python requests, Node.js fetch, or an AI coding tool
Step 1: Authenticate
Public self-serve API requests use a Bearer key in the Authorization header. Production keys start with wak_live_. Quote endpoints are free; booking endpoints charge the card on file.
https://www.wearewarp.com/api/v1Authorization: Bearer wak_live_YOUR_KEYapplication/jsonVerify your key
curl -X GET https://www.wearewarp.com/api/v1/agents/account \ -H "Authorization: Bearer wak_live_YOUR_KEY"
A 200 response returns your account profile. A 401 means the key is missing, invalid, or revoked.
Step 2: Get a freight quote
Send your origin ZIP, destination ZIP, pickup date, pallet count, and weight per pallet. Warp returns a rate, transit time, and a quoteId you will use to book.
POST /api/v1/freight/quote
curl -X POST https://www.wearewarp.com/api/v1/freight/quote \
-H "Content-Type: application/json" \
-H "Authorization: Bearer wak_live_YOUR_KEY" \
-d '{
"pickupZip": "90001",
"deliveryZip": "10001",
"pickupDate": "2026-06-15",
"pallets": 2,
"weightPerPallet": 500
}'200 Response
{
"ok": true,
"quotes": [{
"quoteId": "PRICING_abc123",
"carrier": "Warp Technology",
"rate": 247.50,
"transitDays": 2,
"mode": "LTL"
}]
}The rate is all inclusive. No fuel surcharges, no accessorial fees, no terminal handling charges. The quoteId is what you use to book.
Step 3: Book the shipment
Pass the quoteId from the previous step along with your pickup and delivery details. Bookings charge the card on file. Important: pallets and weightPerPallet must match exactly what you used in the quote — Warp validates that the booking items match the quote.
POST /api/v1/freight/book
curl -X POST https://www.wearewarp.com/api/v1/freight/book \
-H "Content-Type: application/json" \
-H "Authorization: Bearer wak_live_YOUR_KEY" \
-d '{
"quoteId": "PRICING_abc123",
"pickupDate": "2026-06-15",
"pallets": 2,
"weightPerPallet": 500,
"pickup": {
"company": "Sender Co",
"contact": "Your Name",
"phone": "2125550100",
"email": "you@example.com",
"street": "123 Main St",
"city": "Los Angeles",
"state": "CA",
"zip": "90001"
},
"delivery": {
"company": "Receiver Co",
"contact": "Their Name",
"phone": "2125550200",
"email": "them@example.com",
"street": "456 Broadway",
"city": "New York",
"state": "NY",
"zip": "10001"
}
}'200 Response
{
"ok": true,
"trackingNumber": "S-199806-2617",
"orderId": "01KQAQNH9V93D92JWQ6TFM3SJK",
"shipmentId": "01KQAQNH9V93D92JWQ6TFM3SJK",
"charged": 247.50,
"stripePaymentIntentId": "pi_..."
}The response gives you the shipment ID, tracking number, order ID, charged amount, and Stripe payment reference.
Step 4: Track the shipment
Pass the shipment ID or tracking number from booking to get the current tracking payload.
GET /api/v1/freight/track/{shipmentId}
curl https://www.wearewarp.com/api/v1/freight/track/S-199806-2617 \ -H "Authorization: Bearer wak_live_YOUR_KEY"
200 Response
{
"ok": true,
"tracking": {
"trackingNumber": "S-199806-2617",
"statusInfo": {
"status": "inRouteToDropoff",
"lastUpdated": "2026-06-16T14:22:42.000Z"
}
}
}Poll this endpoint for public self-serve integrations. Webhook-style push events, documents, invoices, and broader network endpoints are approved-account workflows.
Step 5: Expand after the core flow
Once quote, book, and track are working, approved accounts can expand into broader Warp network workflows such as documents, invoices, advanced service options, multi-stop routes, and vehicle-specific production flows.
quote → book → trackdocuments, invoices, advanced modesThe canonical public self-serve docs live at wearewarp.com/freight-api. The machine-readable OpenAPI 3.1 spec is at wearewarp.com/.well-known/openapi.json. Both are linked from this page.
Ready to integrate?
Use with AI coding tools
Codex, Cursor, Claude through API-capable workflows, and other coding tools can read Warp's API documentation and generate integration code automatically. Point them at wearewarp.com/freight-api and the OpenAPI spec, then exercise the free quote endpoints before booking.
The Warp Agent CLI (wearewarp.com/tools/cli) provides the same functionality as shell commands. AI agents running in terminal environments can execute warp-agent ltl quote, warp-agent book, and warp-agent track directly.
Available vehicle types and services
The public self-serve API is LTL-first. Additional vehicle workflows are available for approved production accounts and should be confirmed before launch.
CARGO_VANCargo Van
Approved production workflow. Cartons, cases, parcels, or up to 3 pallets.
STRAIGHT_TRUCK_2626ft Box Truck
Approved production workflow. Useful for larger pallet counts and liftgate-heavy moves.
DRY_VAN_5353ft Dry Van (FTL)
Approved production workflow. Used for full truckload and recurring lane programs.
Frequently asked questions
How long does integration take?
Most developers can get their first quote in minutes. A production integration starts with quote, book, and track, then expands after payment, account, and exception workflows are confirmed.
What authentication does the API use?
Use Authorization: Bearer wak_live_YOUR_KEY. Generate a key at /agents/account.
How do I avoid charges while developing?
Quote endpoints are free — call POST /api/v1/freight/quote all you want. Only POST /api/v1/freight/book charges the card on file. Build and test the quote flow without booking any real freight.
What modes are available?
The public self-serve API is LTL-first. Truckload, box truck, cargo van, documents, invoices, and advanced service options are approved-account workflows.
Is there rate limiting?
Quote allows 60 requests per agent per hour. Booking allows 10 booking attempts per agent per hour.
Quote, book, and track freight with three core calls.
Every self-serve endpoint returns structured JSON. Works with any language, any HTTP client, any API-capable coding tool. Get your API key and run free quote calls until your integration is ready.
Bearer auth · Sandbox keys · REST API · JSON · Standard HTTP