Two APIs, one network: the Partner API pushes orders in and manages merchants; the Fleet API plugs your fleet into the marketplace. Setup takes most teams an afternoon.
Orders flow in from your storefront, POS or marketplace, and out to every courier fleet on the network.
Something else in your stack? Build it on the REST API →
Send pickup, dropoff and your rules, the response carries every fleet's quote, the dispatch decision, the backup and a white-label tracking URL.
POST /orders with pickup, dropoff, parcel and schedule, urgent, scheduled windows, or predicted pickup. Async cancel with fee rules.
In the docsPOST /v1/quote-request with optional fleet, vehicle and service filters; valid quotes arrive on your callback, accept within 15 minutes.
In the docsStatus and location updates, chat messages, final settled price, geocoding errors and PIN-code verification, pushed to your callbackUrl.
In the docsPOST /v1/merchants creates stores under your platform, each with its own API key and routing rules.
In the docsImplement request-quote, accept-booking and cancel-booking on your server, Orkestro sends candidate jobs, you answer with a price and a supplier reference.
In the docsOne endpoint reports the whole lifecycle, driver assigned, at pickup, in transit, delivered with proof, with location pings at least every 60 s.
In the docsPush printable PDF labels per booking for national-courier and fulfilment-hub work.
In the docsAlready on Onfleet? Connect your account instead of building endpoints, jobs appear as linked tasks and re-offer after 30 minutes unassigned.
In the docsWhen a courier stalls, the rescue happens network-side, your integration just receives the events. No polling, no special-case code.