For developers
Ship from your code
A clean REST API, typed SDKs and webhooks for every scan. Test mode is free forever.
Your first delivery in 4 lines
Grab a test key from the dashboard, paste a snippet and watch a simulated courier move on the map.
- Idempotent requests, safe to retry
- Sandbox with simulated couriers
- 99.98% API uptime last year
curl https://api.hoplane.dev/v1/shipments \
-H "Authorization: Bearer $HOPLANE_KEY" \
-d from="Downtown" -d to="Uptown" \
-d size="small" -d speed="same_day"import { Hoplane } from '@hoplane/node';
const hoplane = new Hoplane(process.env.HOPLANE_KEY);
const shipment = await hoplane.shipments.create({
from: 'Downtown', to: 'Uptown',
size: 'small', speed: 'same_day',
});require 'hoplane'
Hoplane.api_key = ENV['HOPLANE_KEY']
shipment = Hoplane::Shipment.create(
from: 'Downtown', to: 'Uptown',
size: 'small', speed: 'same_day'
)Core endpoints
- POST
/v1/quotesPrice and ETA before you book - POST
/v1/shipmentsBook a pick-up and delivery - GET
/v1/shipments/:idLive status and courier position - POST
/v1/returnsDoorstep collection for a return - POST
/v1/webhooksGet events when parcels move