MCP 서버

warp-agent-mcp

io.github.warpfreight/warp-agent-mcp
비즈니스 및 운영 공개 · 연결 가능 MCP 2025-11-25

이 MCP로 할 수 있는 일

Quotes, compares, books, automates, and tracks LTL, FTL, cargo-van, box-truck, and multi-stop freight shipments.

analytics
Summarise Shipping History
Summarise your own shipping history: how many bookings, what you spent, and the split by mode, status and lane over a window. Both the headline count and every breakdown are computed from ONE population — your bookings via the agent API (warp-site /bookings) — so the total always matches the splits. Auth required.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'How many of your most recent bookings to summarise (default 100, max 500)'}, 'group_by': {'enum': ['mode', 'status', 'lane'], 'type': 'string', 'description': 'Which breakdown to lead with. All three are returned regardless; this only orders the response.'}}, 'additionalProperties': False}
automate_lane
Automate a Recurring Lane
Set up a RECURRING weekly shipment (standing order): describe the lane once, and after the account owner approves by email, Warp re-quotes it fresh every week and books the best option automatically while the price stays at or under the owner's ceiling. Over-ceiling weeks book nothing and notify the owner. THIS TOOL ONLY PROPOSES — nothing books now, and nothing ever books without the owner's one-time email approval. Auth required.
외부 접근 가능
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['weekday', 'ceiling_usd', 'quote', 'book'], 'properties': {'book': {'type': 'object', 'description': "Booking payload used each run â\x80\x94 same shape as the book tool's pickup/delivery addresses and contacts (patch.pickup, patch.delivery). quote_id and reference are set automatically each run", 'additionalProperties': {}}, 'label': {'type': 'string', 'maxLength': 80, 'description': "Human-readable lane label for the owner's emails, e.g. 'Ontario CA â\x86\x92 Dallas TX, 6 pallets'"}, 'quote': {'type': 'object', 'required': ['origin_zip', 'destination_zip', 'pallets', 'weight_lbs_per_pallet'], 'properties': {'pallets': {'type': 'integer', 'minimum': 1, 'description': 'Pallet count'}, 'origin_zip': {'type': 'string', 'pattern': '^\\d{5}$', 'description': '5-digit US ZIP'}, 'destination_zip': {'type': 'string', 'pattern': '^\\d{5}$', 'description': '5-digit US ZIP'}, 'weight_lbs_per_pallet': {'type': 'number', 'description': 'Weight per pallet in lbs', 'exclusiveMinimum': 0}}, 'description': 'Lane payload re-quoted each run â\x80\x94 same fields as the quote tools (add length_in/width_in/height_in and commodity for firm LTL pricing). pickup_date is set automatically each week', 'additionalProperties': True}, 'weekday': {'type': 'integer', 'maximum': 6, 'minimum': 0, 'description': 'Pickup day each week: 0=Sunday â\x80¦ 6=Saturday'}, 'criteria': {'enum': ['lowest_price', 'fastest_transit'], 'type': 'string', 'description': 'How to pick the winning option each week (default lowest_price)'}, 'end_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Optional YYYY-MM-DD; the automation retires itself after the last pickup on or before this date'}, 'ceiling_usd': {'type': 'number', 'maximum': 100000, 'description': 'Max auto-booked price per shipment in USD; above this the week books nothing and the owner is emailed', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
automation_receipts
Automation Authorization Record
Authorization record for an automation's bookings: one entry per booking attempt showing the checks it passed at commit time against the owner's approval — same lane, price within ceiling, automation active, quote live — plus the shipment id it produced. Entries marked confirmation_required did NOT book autonomously; they fell back to owner confirmation. Read-only. Auth required.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['token'], 'properties': {'token': {'type': 'string', 'description': 'automation token from automate_lane (so_â\x80¦)'}}, 'additionalProperties': False}
batch_book
Batch Book Shipments
Book MANY already-quoted lanes in ONE call (sequential, one card charge per row). Use this after batch_quote when the user says "book all of them" or "book rows 1, 3, 5" — do NOT call book in a loop. Each row needs a quote_id (the same one batch_quote returned for that row). Pickup/delivery default to the shared addresses at the top level so a single warehouse → many destinations only needs one address pair. Returns a progress card showing per-row Booked/Failed status with tracking numbers.
파괴적 작업
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['bookings'], 'properties': {'bookings': {'type': 'array', 'items': {'type': 'object', 'required': ['quote_id'], 'properties': {'notes': {'type': 'string', 'description': 'Per-row special instructions. Falls back to shared_notes.'}, 'pickup': {'type': 'object', 'required': ['zipCode', 'city', 'state', 'street', 'contactName', 'phone', 'email'], 'properties': {'city': {'type': 'string'}, 'email': {'type': 'string'}, 'phone': {'type': 'string'}, 'state': {'type': 'string'}, 'street': {'type': 'string'}, 'zipCode': {'type': 'string', 'pattern': '^\\d{5}$'}, 'contactName': {'type': 'string'}, 'specialInstruction': {'type': 'string'}}, 'description': 'Per-row pickup. Omit to inherit from shared_pickup.', 'additionalProperties': False}, 'delivery': {'type': 'object', 'required': ['zipCode', 'city', 'state', 'street', 'contactName', 'phone', 'email'], 'properties': {'city': {'type': 'string'}, 'email': {'type': 'string', 'description': 'Delivery contact email. Required by Warp on every booking.'}, 'phone': {'type': 'string'}, 'state': {'type': 'string'}, 'street': {'type': 'string'}, 'zipCode': {'type': 'string', 'pattern': '^\\d{5}$'}, 'contactName': {'type': 'string'}, 'specialInstruction': {'type': 'string'}}, 'description': 'Per-row delivery (all fields incl. contact phone and email). Omit to inherit from shared_delivery; one of the two is required.', 'additionalProperties': False}, 'quote_id': {'type': 'string', 'description': 'Quote ID from a previous quote tool. Must be from THIS session â\x80\x94 quote ids expire and rotate, so quote â\x86\x92 book back-to-back.'}, 'reference': {'type': 'string', 'description': 'Per-row reference (PO #, order #). Falls back to shared_reference.'}, 'accessorials': {'type': 'object', 'properties': {'pickup': {'type': 'array', 'items': {'type': 'string'}}, 'delivery': {'type': 'array', 'items': {'type': 'string'}}}, 'description': 'Per-row accessorials. Falls back to shared_accessorials.', 'additionalProperties': False}, 'pickup_window': {'type': 'object', 'required': ['from', 'to'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}}, 'additionalProperties': False}, 'delivery_window': {'type': 'object', 'required': ['from', 'to'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'maxItems': 25, 'minItems': 1, 'description': 'Array of bookings to confirm (1-25). Each is one freight shipment, one card charge.'}, 'shared_notes': {'type': 'string', 'description': 'Notes applied to every row without their own.'}, 'shared_pickup': {'type': 'object', 'required': ['zipCode', 'city', 'state', 'street', 'contactName', 'phone', 'email'], 'properties': {'city': {'type': 'string'}, 'email': {'type': 'string'}, 'phone': {'type': 'string'}, 'state': {'type': 'string'}, 'street': {'type': 'string'}, 'zipCode': {'type': 'string', 'pattern': '^\\d{5}$'}, 'contactName': {'type': 'string'}, 'specialInstruction': {'type': 'string'}}, 'description': "Pickup address applied to every row that doesn't supply its own (FBA case: one warehouse â\x86\x92 many destinations).", 'additionalProperties': False}, 'shared_delivery': {'type': 'object', 'required': ['zipCode', 'city', 'state', 'street', 'contactName', 'phone', 'email'], 'properties': {'city': {'type': 'string'}, 'email': {'type': 'string', 'description': 'Delivery contact email. Required by Warp on every booking.'}, 'phone': {'type': 'string'}, 'state': {'type': 'string'}, 'street': {'type': 'string'}, 'zipCode': {'type': 'string', 'pattern': '^\\d{5}$'}, 'contactName': {'type': 'string'}, 'specialInstruction': {'type': 'string'}}, 'description': "Delivery address (all fields incl. contact phone and email) applied to every row that doesn't supply its own. Uncommon (usually each row goes somewhere different).", 'additionalProperties': False}, 'shared_reference': {'type': 'string', 'description': 'Reference applied to every row without its own.'}, 'shared_accessorials': {'type': 'object', 'properties': {'pickup': {'type': 'array', 'items': {'type': 'string'}}, 'delivery': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'shared_pickup_window': {'type': 'object', 'required': ['from', 'to'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}}, 'additionalProperties': False}, 'shared_delivery_window': {'type': 'object', 'required': ['from', 'to'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
batch_quote
Batch Quote Lanes
Price up to 50 lanes in one call for a specified mode per row (defaults to LTL). This returns a Warp rate per row, NOT all-mode or all-carrier comparison. For Compare All use compare_modes per shipment; for LTL carrier alternatives use ltl_market_options. Never imply this tool compared every carrier. Returns a single batch-quote card with one row per lane (origin → dest · mode · pallets · price · transit). Each priced lane keeps its quote_id and can be booked individually with book ("book row 3").
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['lanes'], 'properties': {'lanes': {'type': 'array', 'items': {'type': 'object', 'required': ['origin_zip', 'destination_zip', 'pickup_date'], 'properties': {'mode': {'enum': ['ltl', 'ftl', 'van', 'box-truck'], 'type': 'string', 'description': "Mode for this lane. Defaults to 'ltl'."}, 'hazmat': {'type': 'boolean'}, 'pallets': {'type': 'integer', 'maximum': 26, 'minimum': 1}, 'width_in': {'type': 'number', 'exclusiveMinimum': 0}, 'commodity': {'type': 'string'}, 'height_in': {'type': 'number', 'exclusiveMinimum': 0}, 'length_in': {'type': 'number', 'exclusiveMinimum': 0}, 'stackable': {'type': 'boolean'}, 'origin_zip': {'type': 'string', 'pattern': '^\\d{5}$', 'description': '5-digit US ZIP code'}, 'pickup_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Pickup date YYYY-MM-DD (must not be in the past)'}, 'freight_class': {'type': 'string'}, 'destination_zip': {'type': 'string', 'pattern': '^\\d{5}$', 'description': '5-digit US ZIP code'}, 'pickup_services': {'type': 'array', 'items': {'type': 'string'}}, 'delivery_services': {'type': 'array', 'items': {'type': 'string'}}, 'weight_lbs_per_pallet': {'type': 'number', 'maximum': 5000, 'minimum': 50}}, 'additionalProperties': False}, 'maxItems': 50, 'minItems': 1, 'description': 'Array of lane requests (1-50). Each row maps to one quote.'}}, 'additionalProperties': False}
book
Book Shipment
Book a quoted shipment using any quote_id or option id returned from a quote tool (Warp or market carrier). Requires quote_id and the full delivery address with the delivery contact's name, phone and email, every time. Pickup can be omitted only when a default shipper is saved on the account. Collect any missing delivery details from the user BEFORE calling. Auth required.
파괴적 작업
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['quote_id', 'delivery'], 'properties': {'notes': {'type': 'string', 'description': 'Special instructions for the shipment'}, 'pickup': {'type': 'object', 'required': ['zipCode', 'city', 'state', 'street', 'contactName', 'phone', 'email'], 'properties': {'city': {'type': 'string', 'description': 'City name'}, 'email': {'type': 'string', 'description': 'Email address'}, 'phone': {'type': 'string', 'description': 'Phone number'}, 'state': {'type': 'string', 'description': '2-letter state code'}, 'street': {'type': 'string', 'description': 'Street address'}, 'zipCode': {'type': 'string', 'pattern': '^\\d{5}$', 'description': '5-digit ZIP'}, 'contactName': {'type': 'string', 'description': 'Contact full name'}, 'specialInstruction': {'type': 'string', 'description': 'Special instructions'}}, 'description': 'Pickup address. Required if no default shipper is saved on your account.', 'additionalProperties': False}, 'delivery': {'type': 'object', 'required': ['zipCode', 'city', 'state', 'street', 'contactName', 'phone', 'email'], 'properties': {'city': {'type': 'string', 'description': 'City name'}, 'email': {'type': 'string', 'description': "Delivery contact email. Required by Warp on every booking: ask the user for it if you don't have it."}, 'phone': {'type': 'string', 'description': 'Phone number'}, 'state': {'type': 'string', 'description': '2-letter state code'}, 'street': {'type': 'string', 'description': 'Street address'}, 'zipCode': {'type': 'string', 'pattern': '^\\d{5}$', 'description': '5-digit ZIP'}, 'contactName': {'type': 'string', 'description': 'Contact full name'}, 'specialInstruction': {'type': 'string', 'description': 'Special instructions'}}, 'description': 'Delivery address and delivery contact. Required on every booking, with every field: street, city, state, ZIP, contact name, phone and email. Warp never fills delivery from past shipments. Ask the user for anything missing before calling book.', 'additionalProperties': False}, 'quote_id': {'type': 'string', 'description': 'Quote ID from warp_quote_id (Warp) or id field of any market option returned by a quote tool. Use the id from your MOST RECENT quote â\x80\x94 market-option ids rotate on every quote call and stale ids are rejected.'}, 'reference': {'type': 'string', 'description': 'Your internal reference number'}, 'accessorials': {'type': 'object', 'properties': {'pickup': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Pickup accessorials: liftgate-pickup, residential-pickup, inside-pickup, limited-access-pickup, pickup-appointment'}, 'delivery': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Delivery accessorials: liftgate-delivery, residential-delivery, inside-delivery, limited-access-delivery, delivery-appointment'}}, 'description': 'Pickup/delivery accessorial services. Should match the accessorials used when quoting.', 'additionalProperties': False}, 'pickup_window': {'type': 'object', 'required': ['from', 'to'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}}, 'description': "Pickup time window, 24h HH:MM, e.g. { from: '08:00', to: '17:00' }. Defaults to a full business day if omitted.", 'additionalProperties': False}, 'delivery_window': {'type': 'object', 'required': ['from', 'to'], 'properties': {'to': {'type': 'string'}, 'from': {'type': 'string'}}, 'description': "Delivery time window, 24h HH:MM, e.g. { from: '09:00', to: '12:00' }. Defaults to a full business day if omitted.", 'additionalProperties': False}}, 'additionalProperties': False}
box_truck_quote
Get Box Truck Quote
Quote a 26' box truck shipment (1-12 pallets, firm price)
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['origin_zip', 'destination_zip', 'pallets', 'weight_lbs_per_pallet', 'pickup_date'], 'properties': {'pallets': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': 'Number of pallets (1-12)'}, 'width_in': {'type': 'number', 'description': 'Per-pallet width in inches (defaults to 40)', 'exclusiveMinimum': 0}, 'commodity': {'type': 'string', 'description': 'Commodity description'}, 'height_in': {'type': 'number', 'description': 'Per-pallet height in inches (defaults to 48)', 'exclusiveMinimum': 0}, 'length_in': {'type': 'number', 'description': 'Per-pallet length in inches (defaults to 48)', 'exclusiveMinimum': 0}, 'origin_zip': {'type': 'string', 'pattern': '^\\d{5}$', 'description': '5-digit US ZIP code'}, 'pickup_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Pickup date YYYY-MM-DD'}, 'destination_zip': {'type': 'string', 'pattern': '^\\d{5}$', 'description': '5-digit US ZIP code'}, 'pickup_services': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Pickup accessorials: pickup-appointment, liftgate-pickup, residential-pickup, limited-access-pickup, inside-pickup, driver-assist-pickup'}, 'delivery_services': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Delivery accessorials: delivery-appointment, liftgate-delivery, residential-delivery, limited-access-delivery, inside-delivery, driver-assist-delivery'}, 'weight_lbs_per_pallet': {'type': 'number', 'maximum': 10000, 'minimum': 50, 'description': 'Weight per pallet in lbs'}}, 'additionalProperties': False}
compare_freight_costs
Compare Freight Costs Against Evidence
Calculate USD cost differences for up to 50 distinct shipments using supplied invoice/quote amounts and explicit comparability evidence. Excludes mismatched or unknown terms, keeps losses, separates quoted opportunities from invoice differences. Does not fetch rates, verify documents, annualize savings, or book. One candidate per shipment per call.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['rows'], 'properties': {'rows': {'type': 'array', 'items': {'type': 'object', 'required': ['shipment_id', 'baseline_amount_usd', 'candidate_amount_usd', 'baseline_source', 'candidate_source', 'baseline_kind', 'candidate_kind', 'shipment_requirements', 'included_charges', 'service_requirements', 'comparison_evidence'], 'properties': {'shipment_id': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'baseline_kind': {'enum': ['historical_invoice', 'current_quote'], 'type': 'string'}, 'candidate_kind': {'enum': ['quote', 'final_invoice'], 'type': 'string'}, 'baseline_source': {'type': 'string', 'maxLength': 2000, 'minLength': 1, 'description': 'Invoice or incumbent quote reference; do not invent'}, 'candidate_source': {'type': 'string', 'maxLength': 2000, 'minLength': 1, 'description': 'Warp quote ID, final invoice reference, or other supplied evidence'}, 'included_charges': {'enum': ['matched', 'different', 'unknown'], 'type': 'string', 'description': 'Comparable all-in charges, including fuel and accessorials'}, 'baseline_amount_usd': {'type': 'number', 'maximum': 1000000000, 'minimum': 0}, 'comparison_evidence': {'type': 'string', 'maxLength': 2000, 'minLength': 1, 'description': 'Explain how the three matching judgments were established, including historical-date differences'}, 'candidate_amount_usd': {'$ref': '#/properties/rows/items/properties/baseline_amount_usd'}, 'service_requirements': {'enum': ['matched', 'different', 'unknown'], 'type': 'string', 'description': 'Both meet required deadline, handling and appointment requirements; not a carrier-quality endorsement'}, 'shipment_requirements': {'enum': ['matched', 'different', 'unknown'], 'type': 'string', 'description': 'Same lane, load, dates or explicit historical benchmark, and accessorial requirements'}}, 'additionalProperties': False}, 'maxItems': 50, 'minItems': 1}}, 'additionalProperties': False}
compare_modes
Compare Freight Modes
THE ONE CALL for "what's the cheapest/best way to ship this?". Prices ALL FOUR freight modes (LTL / full truckload / cargo van / 26' box truck) in ONE keyless call to Warp's all-modes engine and returns a decision-complete recommendation: the winning mode, its rate, transit, a bookable quote_id, the trade-off math against the runner-up, and every mode that couldn't price (with the reason). Prefer this over calling the individual quote tools and comparing them yourself — one round trip, and modes Warp can't serve are returned as explicitly unavailable WITH the reason rather than being dropped, so there is never a silently shortened list to guess from. Dims are optional (a standard 48x40x48 pallet is assumed). Set benchmark_market:true to also rank Warp's rate against the live 30+ carrier market for the lane (adds ~15-25s) — that makes the answer decision-complete: the right mode AND whether the price is actually good. Quote-only: it never books. To book, pass the recommended quote_id to `book` after the user confirms.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['origin_zip', 'destination_zip', 'pickup_date', 'pallets', 'weight_lbs_per_pallet'], 'properties': {'hazmat': {'type': 'boolean', 'description': 'Hazardous materials flag'}, 'pallets': {'type': 'integer', 'maximum': 26, 'minimum': 1, 'description': 'Number of pallets (1-26)'}, 'priority': {'enum': ['cheapest', 'fastest'], 'type': 'string', 'description': "What to optimize the recommendation for. Defaults to 'cheapest'."}, 'width_in': {'type': 'number', 'description': 'Pallet width in inches (defaults to 40)', 'exclusiveMinimum': 0}, 'commodity': {'type': 'string', 'description': 'Commodity description'}, 'height_in': {'type': 'number', 'description': 'Pallet height in inches (defaults to 48)', 'exclusiveMinimum': 0}, 'length_in': {'type': 'number', 'description': 'Pallet length in inches (defaults to 48)', 'exclusiveMinimum': 0}, 'stackable': {'type': 'boolean', 'description': 'Whether pallets are stackable'}, 'origin_zip': {'type': 'string', 'pattern': '^\\d{5}$', 'description': '5-digit US ZIP code'}, 'pickup_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Pickup date YYYY-MM-DD'}, 'freight_class': {'type': 'string', 'description': 'Freight class (optional, FAK rates used if omitted)'}, 'destination_zip': {'type': 'string', 'pattern': '^\\d{5}$', 'description': '5-digit US ZIP code'}, 'pickup_services': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Pickup accessorials: pickup-appointment, liftgate-pickup, residential-pickup, limited-access-pickup, inside-pickup, driver-assist-pickup'}, 'benchmark_market': {'type': 'boolean', 'description': "Also benchmark Warp's rate against the live 30+ carrier LTL market for this lane. Makes the answer decision-complete (is this rate actually good?) but costs ~15-25s â\x80\x94 the mode comparison alone returns in ~1-2s. Defaults to false."}, 'delivery_services': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Delivery accessorials: delivery-appointment, liftgate-delivery, residential-delivery, limited-access-delivery, inside-delivery, driver-assist-delivery'}, 'weight_lbs_per_pallet': {'type': 'number', 'maximum': 10000, 'minimum': 50, 'description': 'Weight per pallet in lbs'}}, 'additionalProperties': False}
consolidate
Find Consolidation Savings
Find consolidation savings across 2-12 upcoming loads: clusters loads sharing an origin+destination zip whose pickup dates fall within window_days (default 3) that together fit one 53' dry van, then prices each cluster BOTH ways — one combined FTL vs the sum of per-load LTLs — through real quotes with bookable quote ids. Use when the user has several loads to ship this week, asks if anything can ride together, or wants to cut freight spend. Loads that can't consolidate come back with the reason (no lane partner / outside window / exceeds trailer / cluster full) — relay reasons honestly. A truck pricing above its LTLs is shown with recommended:false; don't hide it. To act on a proposal, call `book` with the consolidated truck's quote_id. Auth optional — works keyless like the quote tools.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['loads'], 'properties': {'loads': {'type': 'array', 'items': {'type': 'object', 'required': ['origin_zip', 'destination_zip', 'pickup_date', 'pallets', 'weight_lbs_per_pallet'], 'properties': {'ref': {'type': 'string', 'maxLength': 64, 'description': 'Your reference (PO number, order id) â\x80\x94 echoed back'}, 'width': {'type': 'number'}, 'height': {'type': 'number', 'description': 'Pallet height in inches â\x80\x94 LTL prices off height above all'}, 'length': {'type': 'number', 'description': 'Pallet length in inches (real dims firm up LTL pricing)'}, 'pallets': {'type': 'integer', 'maximum': 26, 'minimum': 1}, 'origin_zip': {'type': 'string', 'pattern': '^\\d{5}$', 'description': '5-digit origin ZIP'}, 'pickup_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'YYYY-MM-DD'}, 'destination_zip': {'type': 'string', 'pattern': '^\\d{5}$', 'description': '5-digit destination ZIP'}, 'weight_lbs_per_pallet': {'type': 'integer', 'maximum': 5000, 'minimum': 50}}, 'additionalProperties': False}, 'maxItems': 12, 'minItems': 2, 'description': 'The loads you plan to ship'}, 'window_days': {'type': 'integer', 'maximum': 7, 'minimum': 1, 'description': 'Loads picking up within this many days of each other may ride together (default 3)'}}, 'additionalProperties': False}
delete_load_template
Delete Load Template
Delete a saved load template by its id (starts with lt_). Auth required.
파괴적 작업
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['load_template_id'], 'properties': {'load_template_id': {'type': 'string', 'description': 'Template id to delete (starts with lt_)'}}, 'additionalProperties': False}
events
Get Shipment Events
Get the full tracking event history for a shipment (timeline of pickups, in-transit updates, deliveries). Auth required.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['shipment_id'], 'properties': {'shipment_id': {'type': 'string', 'description': 'Shipment ID from book response'}}, 'additionalProperties': False}
freight_workflow
Start a Freight Review
Get a ready-to-use shipment intake CSV header, results CSV header, and starter prompt for shipment quoting, weekly freight comparison, or invoice review. Guidance only: does not read files, fetch rates, schedule work, or book. Use this when an operator asks how to start or supplies invoices/a shipment sheet.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['workflow'], 'properties': {'workflow': {'enum': ['shipment_intake', 'weekly_freight_review', 'invoice_review'], 'type': 'string'}}, 'additionalProperties': False}
ftl_quote
Get Full Truckload Quote
Quote a full truckload (53' dry van). Only origin, destination, and date required.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['origin_zip', 'destination_zip', 'pickup_date'], 'properties': {'pallets': {'type': 'integer', 'maximum': 26, 'minimum': 1, 'description': 'Pallets (optional, display only)'}, 'commodity': {'type': 'string', 'description': 'Commodity description'}, 'origin_zip': {'type': 'string', 'pattern': '^\\d{5}$', 'description': '5-digit US ZIP code'}, 'pickup_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Pickup date YYYY-MM-DD'}, 'destination_zip': {'type': 'string', 'pattern': '^\\d{5}$', 'description': '5-digit US ZIP code'}, 'weight_lbs_per_pallet': {'type': 'number', 'maximum': 5000, 'minimum': 50, 'description': 'Weight per pallet (optional)'}}, 'additionalProperties': False}
get_documents
Get Shipment Documents
List shipment documents (BOL, POD, customs forms, etc.). Returns download URLs. Auth required. To fetch the Bill of Lading, pass document_type='bol' — this is how EXTERNAL / brokered (market-carrier) BOLs are returned now, not just Warp-carrier ones.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['order_id'], 'properties': {'order_id': {'type': 'string', 'description': 'Order ID (typically the same as shipment_id)'}, 'document_type': {'type': 'string', 'description': "Filter to one document type. Common: 'bol' (Bill of Lading â\x80\x94 required for external/market carrier BOLs), 'pod' (proof of delivery). Omit to list all documents."}}, 'additionalProperties': False}
get_invoice
Get Invoice
Retrieve the invoice for a delivered shipment (line items, taxes, payment status). Auth required.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['order_id'], 'properties': {'order_id': {'type': 'string', 'description': 'Order ID (typically the same as shipment_id)'}}, 'additionalProperties': False}
lane_history
View Lane History
Get shipping history for your lanes (past shipments, last consignee, counts). Auth required.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
list_bookings
List Bookings
List recent bookings for this API key, newest first. Returns shipments across all channels and all time, including cancelled — a broader population than shipper_profile's counts (agent-API bookings over the last 180 days, excluding cancelled), so the totals can differ. Auth required. Renders an interactive shipments card (click a shipment to expand pickup/delivery, freight, and a tracking link).
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Max bookings to return (default 25, max 100)'}}, 'additionalProperties': False}
load_templates
List Load Templates
List the agent's saved load templates — reusable shipment configs (name, dims, weight, commodity). Recall one to quote/book a repeat kind of load without re-entering details. Auth required.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
locations
List Saved Locations
List the agent's saved pickup/delivery locations (addresses Warp has on file for this account), so you can reuse them when booking instead of re-typing addresses. Auth required.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
login
Log In to Warp
Log in to Warp with email and password. Saves credentials locally so booking tools work. Call this if the user needs to authenticate or if payment_status says no key is configured.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['email', 'password'], 'properties': {'email': {'type': 'string', 'format': 'email', 'description': 'Warp account email'}, 'password': {'type': 'string', 'minLength': 1, 'description': 'Warp account password'}}, 'additionalProperties': False}
ltl_market_options
Compare LTL Carriers
Multi-carrier LTL comparison — returns 30+ carrier rates ranked by price (slow, ~15s). Call IMMEDIATELY AFTER ltl_quote with the same parameters; this fills in the 'finding other carrier rates…' section the fast quote card was showing. Useful when the user wants to compare carriers or pick a specific one. Do not declare a winner or recommend a specific carrier; just present the ranked list.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['origin_zip', 'destination_zip', 'pickup_date'], 'properties': {'hazmat': {'type': 'boolean', 'description': 'Hazardous materials flag'}, 'pallets': {'type': 'integer', 'maximum': 26, 'minimum': 1, 'description': 'Number of pallets'}, 'width_in': {'type': 'number', 'description': 'Pallet width in inches', 'exclusiveMinimum': 0}, 'commodity': {'type': 'string', 'description': 'Commodity description'}, 'height_in': {'type': 'number', 'description': 'Pallet height in inches', 'exclusiveMinimum': 0}, 'length_in': {'type': 'number', 'description': 'Pallet length in inches', 'exclusiveMinimum': 0}, 'stackable': {'type': 'boolean', 'description': 'Whether pallets are stackable'}, 'origin_zip': {'type': 'string', 'pattern': '^\\d{5}$', 'description': '5-digit US ZIP code'}, 'pickup_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Pickup date YYYY-MM-DD'}, 'freight_class': {'type': 'string', 'description': 'Freight class (optional, FAK rates used if omitted)'}, 'destination_zip': {'type': 'string', 'pattern': '^\\d{5}$', 'description': '5-digit US ZIP code'}, 'pickup_services': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Pickup accessorials: pickup-appointment, liftgate-pickup, residential-pickup, limited-access-pickup, inside-pickup, driver-assist-pickup'}, 'delivery_services': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Delivery accessorials: delivery-appointment, liftgate-delivery, residential-delivery, limited-access-delivery, inside-delivery, driver-assist-delivery'}, 'weight_lbs_per_pallet': {'type': 'number', 'maximum': 5000, 'minimum': 50, 'description': 'Weight per pallet in lbs'}}, 'additionalProperties': False}
ltl_quote
Get LTL Freight Quote
Quote an LTL shipment — returns Warp's all-inclusive rate FAST (~1-2s) so the user sees a price immediately. The inline quote card shows the Warp rate plus a 'finding other carrier rates…' loading indicator. IMMEDIATELY follow up by calling ltl_market_options with the same parameters to fill in the multi-carrier comparison (~15s). Provide dims + commodity for an exact firm quote; if you don't have dims, quote anyway — it assumes a standard 48x40x48 pallet (FAK, no freight class) for an instant price. Don't block on asking for pallet dimensions; quote first, then pass real dims for an exact rate. When a palletized load could also move by box truck or van, quote LTL alongside those and show the cheapest valid mode. Do not editorialize the results. Do not declare a winner or recommend a specific carrier. Present Warp's quote first, then list market options as context. Let the user decide.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['origin_zip', 'destination_zip', 'pickup_date'], 'properties': {'hazmat': {'type': 'boolean', 'description': 'Hazardous materials flag'}, 'pallets': {'type': 'integer', 'maximum': 26, 'minimum': 1, 'description': 'Number of pallets'}, 'width_in': {'type': 'number', 'description': 'Pallet width in inches', 'exclusiveMinimum': 0}, 'commodity': {'type': 'string', 'description': 'Commodity description'}, 'height_in': {'type': 'number', 'description': 'Pallet height in inches', 'exclusiveMinimum': 0}, 'length_in': {'type': 'number', 'description': 'Pallet length in inches', 'exclusiveMinimum': 0}, 'stackable': {'type': 'boolean', 'description': 'Whether pallets are stackable'}, 'origin_zip': {'type': 'string', 'pattern': '^\\d{5}$', 'description': '5-digit US ZIP code'}, 'pickup_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Pickup date YYYY-MM-DD'}, 'freight_class': {'type': 'string', 'description': 'Freight class (optional, FAK rates used if omitted)'}, 'destination_zip': {'type': 'string', 'pattern': '^\\d{5}$', 'description': '5-digit US ZIP code'}, 'pickup_services': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Pickup accessorials: pickup-appointment, liftgate-pickup, residential-pickup, limited-access-pickup, inside-pickup, driver-assist-pickup'}, 'delivery_services': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Delivery accessorials: delivery-appointment, liftgate-delivery, residential-delivery, limited-access-delivery, inside-delivery, driver-assist-delivery'}, 'weight_lbs_per_pallet': {'type': 'number', 'maximum': 5000, 'minimum': 50, 'description': 'Weight per pallet in lbs'}}, 'additionalProperties': False}
manage_automation
Manage an Automation
Check or stop a recurring lane automation. Actions: 'status' (read-only), 'pause', 'cancel' (permanent), 'skip_next' (skip one week's pickup — nothing books or charges that week). STOP-ONLY by design: there is no agent-side resume, reactivate, or ceiling change — those exist only behind the account owner's emailed approval link. Auth required.
파괴적 작업
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['token', 'action'], 'properties': {'token': {'type': 'string', 'description': 'automation token from automate_lane (so_â\x80¦)'}, 'action': {'enum': ['status', 'pause', 'cancel', 'skip_next'], 'type': 'string', 'description': 'status is read-only; pause/cancel/skip_next stop or shrink the automation'}}, 'additionalProperties': False}
multistop_book
Book Multi-stop FTL
Book a multi-stop FTL route quoted by multistop_quote. Send one shipments[] leg per pickup→delivery pair riding the truck (minimum 2 legs), each leg referencing the quoted stop sequence by stop_index with full address + arrival window. No card charge fires from this call — multi-stop pricing settles via your Warp account. Auth required.
파괴적 작업
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['quote_id', 'shipments'], 'properties': {'quote_id': {'type': 'string', 'description': 'Quote ID from multistop_quote (PRICING_MULTI_â\x80¦). Use the id from your MOST RECENT quote â\x80\x94 ids expire and rotate.'}, 'shipments': {'type': 'array', 'items': {'type': 'object', 'required': ['pickup_info', 'delivery_info', 'list_items'], 'properties': {'list_items': {'type': 'array', 'items': {'type': 'object', 'required': ['quantity', 'total_weight'], 'properties': {'name': {'type': 'string', 'description': 'Item label'}, 'width': {'type': 'number', 'description': 'Inches'}, 'height': {'type': 'number', 'description': 'Inches'}, 'length': {'type': 'number', 'description': 'Inches'}, 'quantity': {'type': 'integer', 'minimum': 1, 'description': 'Piece count'}, 'packaging': {'type': 'string', 'description': 'e.g. pallet'}, 'size_unit': {'type': 'string', 'description': 'Defaults to IN'}, 'stackable': {'type': 'boolean'}, 'weight_unit': {'type': 'string', 'description': 'Defaults to lbs'}, 'total_weight': {'type': 'number', 'description': 'Total weight across the quantity in lbs (not per piece)'}}, 'additionalProperties': False}, 'minItems': 1, 'description': 'Freight riding this leg'}, 'pickup_info': {'type': 'object', 'required': ['stop_index', 'address', 'window_time'], 'properties': {'address': {'type': 'object', 'required': ['street', 'city', 'state', 'zipcode'], 'properties': {'city': {'type': 'string', 'description': 'City name'}, 'state': {'type': 'string', 'description': '2-letter state code'}, 'street': {'type': 'string', 'description': 'Street address'}, 'zipcode': {'type': 'string', 'description': "5-digit ZIP â\x80\x94 must match the quoted stop's ZIP"}}, 'description': 'Full address of this stop', 'additionalProperties': False}, 'stop_index': {'type': 'integer', 'minimum': 0, 'description': 'Index into the quoted stop sequence: 0 = first pickup, then intermediate stops in order, last = final delivery. multistop_quote echoes the sequence as stop_sequence.'}, 'window_time': {'type': 'object', 'required': ['from', 'to'], 'properties': {'to': {'type': 'string', 'description': 'Window close, ISO date-time, e.g. 2026-06-22T23:59:59.000Z'}, 'from': {'type': 'string', 'description': 'Window open, ISO date-time, e.g. 2026-06-22T08:00:00.000Z'}}, 'description': 'Arrival window for this stop', 'additionalProperties': False}, 'contact_name': {'type': 'string', 'description': 'Contact full name'}, 'contact_email': {'type': 'string', 'description': 'Contact email'}, 'contact_phone': {'type': 'string', 'description': 'Contact phone'}}, 'description': "Where this leg's freight gets picked up", 'additionalProperties': False}, 'delivery_info': {'type': 'object', 'required': ['stop_index', 'address', 'window_time'], 'properties': {'address': {'$ref': '#/properties/shipments/items/properties/pickup_info/properties/address'}, 'stop_index': {'$ref': '#/properties/shipments/items/properties/pickup_info/properties/stop_index'}, 'window_time': {'$ref': '#/properties/shipments/items/properties/pickup_info/properties/window_time'}, 'contact_name': {'$ref': '#/properties/shipments/items/properties/pickup_info/properties/contact_name'}, 'contact_email': {'$ref': '#/properties/shipments/items/properties/pickup_info/properties/contact_email'}, 'contact_phone': {'$ref': '#/properties/shipments/items/properties/pickup_info/properties/contact_phone'}}, 'description': "Where this leg's freight gets dropped", 'additionalProperties': False}}, 'additionalProperties': False}, 'maxItems': 20, 'minItems': 2, 'description': 'One leg per pickupâ\x86\x92delivery pair (the gateway requires at least 2)'}}, 'additionalProperties': False}
multistop_quote
Get Multi-stop FTL Quote
Quote a multi-stop FTL route: ONE truck visits 3+ stops in order (first pickup → intermediate stops → final delivery). Use for milk runs, pool distribution, or multi-store replenishment on a single truck — for a simple A→B truckload use ftl_quote. Auth required (free account). Coverage is route-dependent — not every route has a rate yet.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['pickup_zip', 'stop_zips', 'delivery_zip', 'pickup_date'], 'properties': {'pallets': {'type': 'integer', 'maximum': 26, 'minimum': 1, 'description': 'Total pallets riding the route (default 1)'}, 'commodity': {'type': 'string', 'description': 'Commodity description'}, 'stop_zips': {'type': 'array', 'items': {'type': 'string', 'pattern': '^\\d{5}$'}, 'maxItems': 10, 'minItems': 1, 'description': '5-digit ZIPs of the intermediate stops, in route order (at least 1)'}, 'pickup_zip': {'type': 'string', 'pattern': '^\\d{5}$', 'description': '5-digit ZIP of the first pickup stop'}, 'pickup_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Pickup date YYYY-MM-DD'}, 'delivery_zip': {'type': 'string', 'pattern': '^\\d{5}$', 'description': '5-digit ZIP of the final delivery stop'}, 'vehicle_type': {'type': 'string', 'description': 'Vehicle code (default DRY_VAN_53)'}, 'total_weight_lbs': {'type': 'number', 'maximum': 44000, 'minimum': 50, 'description': 'Total weight across all freight in lbs (default 500 per pallet)'}}, 'additionalProperties': False}
payment_status
Check Payment Status
Check if the current Warp account has a payment method on file. Call this if the user asks about their payment status, or before booking if you want to confirm they can book. Returns has_card and onboard_url if a card needs to be added.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
quote_history
View Quote History
List your recent freight quotes (LTL, van, box truck, FTL) from all sessions. Useful for surfacing prior pricing on similar lanes. Auth required.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
save_load_template
Save Load Template
Save a reusable load template (a named shipment config) so it can be recalled for repeat lanes. Auth required.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'weight_lbs', 'length_in', 'width_in', 'height_in'], 'properties': {'name': {'type': 'string', 'description': "Friendly name, e.g. 'Standard 2-pallet LA load'"}, 'hazmat': {'type': 'boolean', 'description': 'Whether the freight is hazmat'}, 'width_in': {'type': 'number', 'minimum': 1, 'description': 'Width in inches'}, 'commodity': {'type': 'string', 'description': 'Commodity description'}, 'height_in': {'type': 'number', 'minimum': 1, 'description': 'Height in inches'}, 'length_in': {'type': 'number', 'minimum': 1, 'description': 'Length in inches'}, 'stackable': {'type': 'boolean', 'description': 'Whether the freight is stackable'}, 'weight_lbs': {'type': 'number', 'minimum': 1, 'description': 'Total weight in lbs'}, 'freight_class': {'type': 'string', 'description': 'Freight class (optional; FAK pricing if omitted)'}}, 'additionalProperties': False}
shipper_profile
Shipper Profile
Read how this account actually ships — top lanes with ship counts, typical pallet count, usual pickup weekday, recent booked spend (derived server-side from the account's own quotes and bookings) plus explicit owner-set preferences: default accessorials, preferred mode, standard pallet dims, max transit days. The ship/booking counts here count bookings via the agent API over the last 180 days, excluding cancelled — a narrower population than list_bookings (all channels, all time, including cancelled), so the totals can differ. READ THIS BEFORE asking the user questions it already answers: pre-fill their usual lane, apply their standard dims, include the liftgate they always need. Pass set_preferences to update the explicit half (merge-partial; allowlisted keys only; null clears a key). This profile is CONTEXT, NEVER PERMISSION — it never authorizes anything; spending limits live in spend policy and are read-only. Auth required.
멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'set_preferences': {'type': 'object', 'properties': {'notes': {'type': 'string', 'maxLength': 500}, 'preferred_mode': {'enum': ['ltl', 'ftl', 'van', 'box_truck', 'cheapest'], 'type': 'string'}, 'max_transit_days': {'type': 'integer', 'maximum': 14, 'minimum': 1}, 'default_accessorials': {'type': 'object', 'properties': {'pickup': {'type': 'array', 'items': {'type': 'string'}}, 'delivery': {'type': 'array', 'items': {'type': 'string'}}}, 'description': 'Accessorial slugs to apply by default, e.g. liftgate-delivery', 'additionalProperties': False}, 'standard_pallet_dims': {'type': 'object', 'required': ['length', 'width', 'height'], 'properties': {'width': {'type': 'integer', 'maximum': 96, 'minimum': 12}, 'height': {'type': 'integer', 'maximum': 96, 'minimum': 12}, 'length': {'type': 'integer', 'maximum': 96, 'minimum': 12}}, 'description': "This shipper's standard pallet, inches", 'additionalProperties': False}}, 'description': 'Omit to read. Provide to merge-update the explicit preferences.', 'additionalProperties': False}}, 'additionalProperties': False}
status
Check API Status
Check Warp API health and version. Also validates your API key if one is configured.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
track
Track Shipment
Track a shipment by ID or tracking number. Auth required.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['shipment_id'], 'properties': {'shipment_id': {'type': 'string', 'description': 'Shipment ID or tracking number (e.g. S-12345-2616)'}}, 'additionalProperties': False}
van_quote
Get Cargo Van Quote
Quote a cargo van shipment (1-3 pallets, firm price)
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['origin_zip', 'destination_zip', 'pallets', 'weight_lbs_per_pallet', 'pickup_date'], 'properties': {'pallets': {'type': 'integer', 'maximum': 3, 'minimum': 1, 'description': 'Number of pallets (1-3)'}, 'width_in': {'type': 'number', 'description': 'Per-pallet width in inches (defaults to 40)', 'exclusiveMinimum': 0}, 'commodity': {'type': 'string', 'description': 'Commodity description'}, 'height_in': {'type': 'number', 'description': 'Per-pallet height in inches (defaults to 48)', 'exclusiveMinimum': 0}, 'length_in': {'type': 'number', 'description': 'Per-pallet length in inches (defaults to 48)', 'exclusiveMinimum': 0}, 'origin_zip': {'type': 'string', 'pattern': '^\\d{5}$', 'description': '5-digit US ZIP code'}, 'pickup_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Pickup date YYYY-MM-DD'}, 'destination_zip': {'type': 'string', 'pattern': '^\\d{5}$', 'description': '5-digit US ZIP code'}, 'pickup_services': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Pickup accessorials: pickup-appointment, liftgate-pickup, residential-pickup, limited-access-pickup, inside-pickup, driver-assist-pickup'}, 'delivery_services': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Delivery accessorials: delivery-appointment, liftgate-delivery, residential-delivery, limited-access-delivery, inside-delivery, driver-assist-delivery'}, 'weight_lbs_per_pallet': {'type': 'number', 'maximum': 3500, 'minimum': 50, 'description': 'Weight per pallet in lbs'}}, 'additionalProperties': False}
변경됨
batch_book
2026년 10월 1일 2:50 AM
변경됨
book
2026년 10월 1일 2:50 AM
변경됨
manage_automation
2026년 9월 23일 2:50 AM
변경됨
automate_lane
2026년 9월 23일 2:50 AM
변경됨
shipper_profile
2026년 9월 23일 2:50 AM
변경됨
batch_quote
2026년 9월 19일 2:47 AM
추가됨
compare_freight_costs
2026년 9월 19일 2:47 AM
추가됨
freight_workflow
2026년 9월 19일 2:47 AM
추가됨
delete_load_template
2026년 9월 17일 12:53 PM
추가됨
save_load_template
2026년 9월 17일 12:53 PM
추가됨
load_templates
2026년 9월 17일 12:53 PM
추가됨
locations
2026년 9월 17일 12:53 PM
추가됨
analytics
2026년 9월 17일 12:53 PM
추가됨
payment_status
2026년 9월 17일 12:53 PM
추가됨
automation_receipts
2026년 9월 17일 12:53 PM
추가됨
manage_automation
2026년 9월 17일 12:53 PM
추가됨
automate_lane
2026년 9월 17일 12:53 PM
추가됨
shipper_profile
2026년 9월 17일 12:53 PM
추가됨
consolidate
2026년 9월 17일 12:53 PM
추가됨
login
2026년 9월 17일 12:53 PM
추가됨
quote_history
2026년 9월 17일 12:53 PM
추가됨
get_documents
2026년 9월 17일 12:53 PM
추가됨
get_invoice
2026년 9월 17일 12:53 PM
추가됨
events
2026년 9월 17일 12:53 PM
추가됨
status
2026년 9월 17일 12:53 PM
추가됨
list_bookings
2026년 9월 17일 12:53 PM
추가됨
lane_history
2026년 9월 17일 12:53 PM
추가됨
track
2026년 9월 17일 12:53 PM
추가됨
multistop_book
2026년 9월 17일 12:53 PM
추가됨
multistop_quote
2026년 9월 17일 12:53 PM