LASF$260|SFLA$264|COLLA$366|COLCHI$193|NJMIA$288|COLSF$420|SFSAC$142|LADAL$398|LASD$156|COLMIA$303|SFSEA$235|COLDAL$208|LASLC$297|LAPHX$244|LALV$260|LAORL$437|LANJ$447|HARNJ$188|LACOL$365|CHINJ$235|DALMIA$266|SFPDX$231|COLPHX$244|NJORL$304|SFSD$208|COLORL$310|CHIMIA$295|COLDEN$275|LAMIA$420|LVLA$215|SATAUS$125|LASAC$195|LADEN$310|DALLA$385|SFPHX$280|LASEA$340|NJDAL$335|ORLMIA$145|ORLTPA$130|DALHOU$155|DALSAT$165|NJATL$270|MIANJ$305|NJCHI$240|NJLA$440|ORLJAX$140|COLSLC$320|HOUNJ$345|SLCBOI$185|LAPDX$315|LASF$260|SFLA$264|COLLA$366|COLCHI$193|NJMIA$288|COLSF$420|SFSAC$142|LADAL$398|LASD$156|COLMIA$303|SFSEA$235|COLDAL$208|LASLC$297|LAPHX$244|LALV$260|LAORL$437|LANJ$447|HARNJ$188|LACOL$365|CHINJ$235|DALMIA$266|SFPDX$231|COLPHX$244|NJORL$304|SFSD$208|COLORL$310|CHIMIA$295|COLDEN$275|LAMIA$420|LVLA$215|SATAUS$125|LASAC$195|LADEN$310|DALLA$385|SFPHX$280|LASEA$340|NJDAL$335|ORLMIA$145|ORLTPA$130|DALHOU$155|DALSAT$165|NJATL$270|MIANJ$305|NJCHI$240|NJLA$440|ORLJAX$140|COLSLC$320|HOUNJ$345|SLCBOI$185|LAPDX$315|View all rates →LASF$260|SFLA$264|COLLA$366|COLCHI$193|NJMIA$288|COLSF$420|SFSAC$142|LADAL$398|LASD$156|COLMIA$303|SFSEA$235|COLDAL$208|LASLC$297|LAPHX$244|LALV$260|LAORL$437|LANJ$447|HARNJ$188|LACOL$365|CHINJ$235|DALMIA$266|SFPDX$231|COLPHX$244|NJORL$304|SFSD$208|COLORL$310|CHIMIA$295|COLDEN$275|LAMIA$420|LVLA$215|SATAUS$125|LASAC$195|LADEN$310|DALLA$385|SFPHX$280|LASEA$340|NJDAL$335|ORLMIA$145|ORLTPA$130|DALHOU$155|DALSAT$165|NJATL$270|MIANJ$305|NJCHI$240|NJLA$440|ORLJAX$140|COLSLC$320|HOUNJ$345|SLCBOI$185|LAPDX$315|LASF$260|SFLA$264|COLLA$366|COLCHI$193|NJMIA$288|COLSF$420|SFSAC$142|LADAL$398|LASD$156|COLMIA$303|SFSEA$235|COLDAL$208|LASLC$297|LAPHX$244|LALV$260|LAORL$437|LANJ$447|HARNJ$188|LACOL$365|CHINJ$235|DALMIA$266|SFPDX$231|COLPHX$244|NJORL$304|SFSD$208|COLORL$310|CHIMIA$295|COLDEN$275|LAMIA$420|LVLA$215|SATAUS$125|LASAC$195|LADEN$310|DALLA$385|SFPHX$280|LASEA$340|NJDAL$335|ORLMIA$145|ORLTPA$130|DALHOU$155|DALSAT$165|NJATL$270|MIANJ$305|NJCHI$240|NJLA$440|ORLJAX$140|COLSLC$320|HOUNJ$345|SLCBOI$185|LAPDX$315|
WARP // FREIGHT NETWORK191,000+ ADDRESSES DELIVERED TO

Developer tutorial

Ship Your First Load in 5 Minutes

A step by step guide to quoting, booking, and tracking freight with Warp's REST API. Works with curl, Python, Node.js, or any AI coding tool like Claude Code.

5 minutes to first shipment · REST API · JSON · Standard HTTP

5 minto first shipment
RESTstandard HTTP + JSON
All modesLTL, FTL, box truck, van

Prerequisites

  • -A Warp account (sign up at customer.wearewarp.com)
  • -An API key (generated in the Warp dashboard under Settings → API Keys)
  • -Any HTTP client: curl, Postman, Python requests, Node.js fetch, or an AI coding tool

Step 1: Authenticate

All requests use a single API key passed as an apikey header. No OAuth flows, no token refresh, no Bearer prefix. Every endpoint lives under one base URL.

Base URL https://api.wearewarp.com/api/v1
Auth Header apikey: YOUR_API_KEY
Content-Type application/json

Test your key

curl -X GET https://api.wearewarp.com/api/v1/freights/shipments \
  -H "Content-Type: application/json" \
  -H "apikey: YOUR_API_KEY"

If you get a 200 response with a list of shipments (or an empty array), your key works. A 401 means the key is missing or invalid.

Step 2: Get a freight quote

Send your origin, destination, pickup date, and item details. Warp returns a rate, transit time, and a quoteId you will use to book.

POST /freights/quote

curl -X POST https://api.wearewarp.com/api/v1/freights/quote \
  -H "Content-Type: application/json" \
  -H "apikey: YOUR_API_KEY" \
  -d '{
    "pickupDate": ["2026-04-07"],
    "pickupInfo": {
      "zipCode": "90001",
      "city": "Los Angeles",
      "state": "CA",
      "street": "123 Warehouse Blvd",
      "contactName": "Dispatch Team",
      "phone": "3105551234"
    },
    "deliveryInfo": {
      "zipCode": "85001",
      "city": "Phoenix",
      "state": "AZ",
      "street": "456 Distribution Dr",
      "contactName": "Receiving Dock",
      "phone": "6025551234"
    },
    "listItems": [{
      "name": "Pallet - Retail Goods",
      "length": 48, "width": 40, "height": 48,
      "sizeUnit": "in",
      "totalWeight": 800, "weightUnit": "lb",
      "quantity": 2,
      "packaging": "pallet",
      "stackable": false
    }],
    "shipmentType": "LTL"
  }'

200 Response

{
  "data": {
    "quoteId": "01HG9W6CMAWHNWTVXDKW9QYFS9",
    "carrierCode": "WTCH",
    "carrierName": "Warp Technology",
    "serviceLevel": "standard",
    "transitDays": 2,
    "totalCost": 485.00,
    "pickupWindow": { "from": "08:00", "to": "17:00" },
    "deliveryWindow": { "from": "08:00", "to": "17:00" }
  }
}

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. You can add special instructions for each stop.

POST /freights/booking

curl -X POST https://api.wearewarp.com/api/v1/freights/booking \
  -H "Content-Type: application/json" \
  -H "apikey: YOUR_API_KEY" \
  -d '{
    "quoteId": "01HG9W6CMAWHNWTVXDKW9QYFS9",
    "pickupInfo": {
      "zipCode": "90001",
      "city": "Los Angeles",
      "state": "CA",
      "street": "123 Warehouse Blvd",
      "contactName": "Dispatch Team",
      "phone": "3105551234",
      "specialInstruction": "Dock 4, call 30 min before"
    },
    "deliveryInfo": {
      "zipCode": "85001",
      "city": "Phoenix",
      "state": "AZ",
      "street": "456 Distribution Dr",
      "contactName": "Receiving Dock",
      "phone": "6025551234",
      "specialInstruction": "Receiving 7am-3pm"
    },
    "listItems": [{
      "name": "Pallet - Retail Goods",
      "length": 48, "width": 40, "height": 48,
      "sizeUnit": "in",
      "totalWeight": 800, "weightUnit": "lb",
      "quantity": 2,
      "packaging": "pallet"
    }]
  }'

201 Response

{
  "data": {
    "shipmentId": "shp_01HGA2K9MNPQ4RV8XW3YZ5TJ6",
    "shipmentNumber": "WRP-2026-041542",
    "orderId": "ord_01HGA2K9MNPQ4RV8XW3YZ5TK7",
    "trackingNumber": "WARP1234567890",
    "shipmentType": "LTL",
    "status": "CONFIRMED"
  }
}

The response gives you everything you need: a shipmentId for internal tracking, a trackingNumber for the tracking endpoint, and an orderId for invoices and documents.

Step 4: Track the shipment

Pass one or more tracking numbers to get the current status, location, and full event history for each shipment.

POST /freights/tracking

curl -X POST https://api.wearewarp.com/api/v1/freights/tracking \
  -H "Content-Type: application/json" \
  -H "apikey: YOUR_API_KEY" \
  -d '{ "trackingNumbers": ["WARP1234567890"] }'

200 Response

{
  "data": [{
    "trackingNumber": "WARP1234567890",
    "status": "IN_TRANSIT",
    "currentLocation": {
      "city": "Barstow",
      "state": "CA",
      "timestamp": "2026-04-08T08:42:00Z"
    },
    "estimatedDelivery": "2026-04-09T14:00:00Z",
    "events": [
      {
        "status": "PICKED_UP",
        "location": "Los Angeles, CA",
        "timestamp": "2026-04-07T10:15:00Z",
        "description": "Freight picked up from origin"
      },
      {
        "status": "SCANNED_IN",
        "location": "Los Angeles, CA",
        "timestamp": "2026-04-07T11:30:00Z",
        "description": "Scanned at Warp cross dock"
      },
      {
        "status": "IN_TRANSIT",
        "location": "Barstow, CA",
        "timestamp": "2026-04-08T08:42:00Z",
        "description": "In transit to destination"
      }
    ]
  }]
}

Events include PICKED_UP, SCANNED_IN, IN_TRANSIT, arrivedAtWarehouse, departedFromWarehouse, and DELIVERED, each with timestamps and location data. You can also register webhooks in your dashboard to receive push notifications instead of polling.

Step 5: Get invoices and documents

Once a shipment is complete, pull the invoice and supporting documents using the orderId from your booking confirmation.

Invoice GET /api/v1/freights/invoices/{orderId}
Documents GET /api/v1/freights/documents/{orderId}

The invoices endpoint returns line items, totals, charges, and payment status. The documents endpoint returns URLs for the bill of lading (BOL), proof of delivery (POD), and any other shipment documents.

Ready to integrate?

Use with AI coding tools

Claude Code, Cursor, and other AI coding tools can read Warp's API documentation and generate integration code automatically. Point them at developer.wearewarp.com/docs/freight/ and describe what you need. The AI handles the rest.

The Warp CLI (developer.wearewarp.com/docs/cli) provides the same functionality as shell commands. AI agents running in terminal environments can execute warp quote, warp book, and warp track directly.

Available vehicle types and services

CARGO_VAN

Cargo Van

Cartons, cases, parcels, or up to 3 pallets. Same day dispatch.

STRAIGHT_TRUCK_26

26ft Box Truck

1 to 12 pallets. All liftgate equipped. Temperature controlled available.

DRY_VAN_53

53ft Dry Van (FTL)

Up to 44,000 lbs. Recurring lanes and dedicated capacity.

Frequently asked questions

How long does integration take?

Most developers get their first quote in under 5 minutes. A production integration typically takes a few hours. AI coding tools like Claude Code can generate the code in minutes.

What authentication does the API use?

API key passed in the apikey header. Generate a key in your Warp dashboard under Settings → API Keys.

Can I test without booking real freight?

Yes. The API supports test mode for development.

What modes are available?

LTL (1 to 12 pallets), truckload (dry van, reefer, flatbed), box truck (26 foot, liftgate equipped), and cargo van (cartons, cases, parcels, or up to 3 pallets).

Is there rate limiting?

Standard rate limits apply. Enterprise accounts get higher throughput.

Quote, book, and track freight with five API calls.

Every endpoint returns structured JSON. Works with any language, any HTTP client, any AI coding tool. Get your API key and ship your first load today.

5 minutes to first shipment · REST API · JSON · Standard HTTP

Get API Key