Developers

Parcel locker API and webhooks

Everything the admin console does with parcels is available through a versioned REST API under /api/v1, documented in OpenAPI.

REST API

01

Lockers

List lockers with free doors by size. Lockers from other makers are marked foreign and read-only.

02

Parcels

Create deliveries and sends, assign a parcel to a courier or the shared pool, cancel, and list parcels to collect.

03

Tracking and proof

Read tracking events reported by the locker, and the hash-chained events of a parcel with the courier's photos and notes.

04

Reservations

Reserve a door of size S, M or L for a time window. A parcel created with the reservation gets that door.

05

Returns

Create a return for a parcel and receive the return code.

06

Courier load token

Get a signed load token for your own courier app.

Keys and limits

API keys are created in the admin console with only the scopes you need, such as parcels:read or parcels:write. Keys are stored as hashes. Each key is limited to 10 requests per second.

Webhooks

Subscribe in the admin console or through the API. Events: alert.opened, alert.resolved, parcel.created, parcel.status_changed, workorder.changed.

01

Signed

Each request carries a timestamp and an HMAC-SHA256 signature over the timestamp and body. Reject anything older than 5 minutes.

02

Delivered once the change is stored

A transactional outbox sends an event if and only if the change is committed. Failed deliveries are retried.

03

Safe targets

HTTPS only, no redirects, private and special addresses blocked at connect time. Works with Slack or Teams.

Locker picker widget

Add /widget/lockers.js to your checkout page to show lockers with free doors. It reads a public, per-operator locker list, so no API key is exposed in the browser.

OpenAPI documentation

Every endpoint, schema and scope is described in an OpenAPI file served at /api/docs on each installation. Generate a client in your language from it.

List another maker's lockers

If you run lockers on another maker's cloud, expose them as a simple JSON list: id, name, address, coordinates, online flag and free doors by size. Lokkio reads it every 5 minutes and shows them read-only.

Locker to cloud contract

Lockers talk to the cloud over mTLS with one certificate per locker. Events are sent in order, the cloud checks the hash chain and acknowledges each batch. The message contract is versioned and documented.

Get a sandbox key

Try the API against the demo locker, or ask us for a key for your integration project.