API for ERP & WMS
A route optimization API for ERP and WMS teams, without a TMS
Your ERP or WMS already knows the orders, the vehicles and the depot. What it usually lacks is the routing. The AIRO API takes that data as JSON, validates it, optimizes multi-vehicle routes with a deterministic engine, and returns sequenced stops with arrival times. You keep your system of record. You do not buy, implement or train anyone on a TMS.
Who this is for
- Companies that run SAP Business One, Odoo, NetSuite, Dynamics, Sage, Acumatica, Fishbowl, custom ERP or a WMS and dispatch from there.
- Distribution, wholesale, food, building supply, home services and field-service teams with 3 to 30 vehicles.
- Teams that tried a TMS and found it heavier than the problem: new screens, new master data, long onboarding.
- Developers who want routing as a service they call, not a platform they adopt.
One call from your system
Send orders (address or coordinates, demand, service time, time windows), vehicles (capacity, shift, optional driver) and a depot. The API answers 202 with an optimization id; you poll it or receive a signed webhook when it finishes.
What you get back
- Routes per vehicle, with stops in driving order and planned arrival times
- KPIs: distance, driving time, vehicles used, average load, late stops
- Unassigned orders with a specific reason (capacity, time window, address not found)
- Driver-ready Excel or CSV exports through a signed, expiring link
Built for integrations that must not break
- Idempotency-Key on every optimization: a retried request never runs or bills twice
- Validation errors that point at the exact order (orders[17]) with an actionable message
- HMAC-signed webhooks (optimization.completed, failed, cancelled)
- Plain API keys with scopes, revocable in one click; OpenAPI 3 spec for code generation
Why not a TMS?
A TMS wants to own dispatch: orders, drivers, proof of delivery, tracking, invoicing. If your ERP or WMS already does that, you only need the missing piece: turn a day of orders into good routes. AIRO is that piece, delivered as an API. It is not a TMS, a driver app or a tracking platform, and it does not try to replace your system.
The deterministic engine behind the API
Optimization runs on Google OR-Tools in the backend: one depot, multiple vehicles, capacities, service times, time windows, vehicle fixed costs and a solver time limit you control. The same input gives the same plan, which makes it testable and auditable. No language model is involved in the optimization.
Travel times and distances come from a commercial maps provider, and addresses are geocoded for you. If an address cannot be located, the order is reported as unassigned with the reason instead of silently dropped.
Prefer an assistant to a script?
The same engine is available to Claude and ChatGPT through an MCP connector, and in the web portal. Use the API for automation, the portal for your dispatchers, and the assistant for quick what-if questions. One account, one set of routes, one bill.
Simple, usage-based pricing
Start with pay as you go at $30 per optimization, no subscription, or choose a monthly plan with included orders, vehicles and scenarios. Pricing is never based on AI tokens, and API calls themselves are not metered. Billing opens after the waitlist phase.
Frequently asked questions
Does the AIRO API replace my TMS or WMS?
No. AIRO adds route optimization to the system you already use. Your ERP or WMS stays the system of record for orders, stock and invoices; the API returns routes you can write back or hand to drivers.
How do I send orders from my ERP?
Make an authenticated POST to /v1/optimizations with a JSON body containing orders, vehicles (or a fleet size), and a depot. Include an Idempotency-Key header. The response contains the optimization id to poll or to match with a webhook.
Is the API synchronous?
Optimizations run asynchronously because geocoding and solving take seconds. You get a 202 immediately, then either poll GET /v1/optimizations/{id} or receive a signed webhook when it is completed.
How are retries handled?
Every optimization requires an Idempotency-Key. Retrying with the same key returns the same optimization and does not run or bill it again. Reusing a key with a different payload is rejected.
How do I authenticate?
With an API key created in the portal (Connect AI). Send it as a Bearer token. Keys have scopes, can expire, and can be revoked at any time.
What limits apply?
Up to 500 orders and 100 vehicles per optimization, a solver time limit of 1 to 60 seconds, and per-minute rate limits. Larger days can be split by zone or depot.
Can I get the results as Excel for drivers?
Yes. POST /v1/optimizations/{id}/exports with format xlsx or csv returns a signed download link that expires.
Add routing to your ERP or WMS
Join the waitlist to get API access as soon as billing opens.