Skip to main content

Who this is for

Software that other businesses install and book through: a checkout delivery scheduling app, an order management system, a shipping layer in a storefront. Each merchant brings their own UniHop API key. They generate it in their UniHop dashboard and paste it into your app’s settings. You send that key on their deliveries, and their deliveries are billed to their own account. You are never in the billing path.
Booking deliveries for your own business, or running a marketplace where the orders are yours? Use the Direct API instead.

Base URL

Your platform identifier sits in the path:
We issue the identifier at onboarding. It replaces {platform} in every call:

Your first delivery

The same body works on POST /deliveries, so you can quote at checkout and book afterwards without rebuilding the request. Store the uid from the create response. Reads, cancellations and webhooks are all keyed on it. Your own order and store IDs go in platform_payload, which we return on every read and webhook.

The five endpoints

Delivery styles

The style drives which vehicles and handling rules apply. Omit delivery_style and you get Standard. Additional styles can be enabled for your platform during onboarding.

Times and time zones

Every datetime, in and out, is ISO 8601 UTC: 2026-08-20T18:00:00Z. We don’t infer local time from an address. Set package_delivery_mode to NOW for on-demand. Leave it out (or send SCHEDULED) and both delivery_date and dropoff_start_time are required.

Tracking and updates

Every created delivery returns a tracking_link, a public page you can give the recipient with no login. For programmatic updates, give us a webhook URL at onboarding. See Webhooks.

Need a hand?

Your account manager handles platform identifiers, styles, and coverage. API questions: help.unihop.app.