Skip to content

A delivery API your engineers will actually enjoy.

Create orders one at a time or in batches, read their state, cancel them, and subscribe to every delivery event with outbound webhooks. Per-client keys and field mappings mean each customer’s system can post in its own shape.

No per-driver pricing15-day free trialCancel anytimeUpdated Aug 2026

How it connects

From a REST API & webhooks order to a driver’s phone.

Nothing to install on your store and nothing to keep updated — the connection is a webhook you create once.

01

Create an API integration

Settings → Integrations → API. PrivateMile issues an API key (shown once) and, if you want, a per-client webhook endpoint with its own secret.

02

Post orders

POST a single order or a batch to the orders endpoint with your key. Map your field names to PrivateMile’s once, with field mappings, so your payload does not have to change.

03

Subscribe to events

Register a callback URL for the delivery events you care about. PrivateMile posts each event as it happens, with the order reference and the details, so your system follows the delivery.

What flows in

Every field the driver needs, already on the stop.

Orders arrive with the customer, address, items and notes attached — dispatch never retypes anything.

  • Create orders singly or in batches
  • Read an order’s current state and history
  • Cancel an order
  • Per-client API keys and webhook endpoints, each with its own secret
  • Field mappings: direct, template, lookup or function
  • Outbound events for orders, tasks, pickups, payments, routes, drivers, locations and warehouses

After the order lands

What your customers notice.

Batch in, one call

Send a day’s orders in a single request. Each row is validated and reported on individually, so one bad address never blocks the other hundred.

Keys per client, limits per key

Give each customer or system its own key, rate limit and webhook endpoint. Rotate a key without touching the others.

Every event, as it happens

Created, assigned, in progress, completed, failed, cancelled, payment collected, route optimized, and more — posted to your callback with the order reference.

What the API covers

The order lifecycle, end to end. Create an order — or up to 2,000 in a batch — with the customer, address, items, notes, reference and delivery window. Read its current state and event history. Cancel it. Every inbound request is logged with the result of its field mapping, so a payload that did not land the way you expected can be traced in seconds.

Field mappings

Your system does not have to speak PrivateMile’s schema. Mappings translate your field names to ours in four ways: a direct copy, a template that combines fields, a lookup against a table, or a small function for anything else. Mappings are set once per integration and applied on every request.

Outbound webhooks

Register a callback and choose events. PrivateMile posts each one as it happens — orders, tasks, pickups, payments, routes, drivers, locations and warehouses — with the order reference and details. Failed deliveries, cash collected at the door and route changes all reach your system without polling.

Per-client endpoints

Couriers and 3PLs give each client its own endpoint and secret. A client posts orders in its own shape; mappings translate; the orders land tagged with that client. Reporting is already broken down per account.

When Zapier is enough

If nobody on the team writes code, the Zapier integration covers the same ground for lower volume: any Zapier trigger creates an order, and every delivery event triggers a Zap.

FAQ

Questions teams ask before switching.

Something else? Ask a human.

Which events can we subscribe to?

Order created, updated, assigned, in progress, completed, failed and cancelled; task created, assigned, started and completed; pickup completed; delivery completed; payment collected; route optimized; driver created, updated, deleted and location; location and warehouse created, updated and deleted.

Can each of our clients post orders in their own format?

Yes. Each client can have its own webhook endpoint and secret, and field mappings translate their payload into PrivateMile’s order — direct copies, templates, lookups or small functions. Their system does not have to change.

Is there a sandbox?

Integrations start in a testing status so you can post orders and watch them land on the board before switching to active. Every request is logged with its mapping result, so debugging a payload is a matter of reading the log.

What about rate limits?

Each integration has its own configurable limit, on top of the platform-wide limit. Batch endpoints exist so high volume does not have to mean high request counts.

Connect REST API & webhooks in an afternoon.

Create the integration on the trial, paste one webhook URL into your store, and watch the next order appear on the board.

Questions first? Tell us about your delivery day — or sign in.