Lockers
List lockers with free doors by size. Lockers from other makers are marked foreign and read-only.
Developers
Everything the admin console does with parcels is available through a versioned REST API under /api/v1, documented in OpenAPI.
List lockers with free doors by size. Lockers from other makers are marked foreign and read-only.
Create deliveries and sends, assign a parcel to a courier or the shared pool, cancel, and list parcels to collect.
Read tracking events reported by the locker, and the hash-chained events of a parcel with the courier's photos and notes.
Reserve a door of size S, M or L for a time window. A parcel created with the reservation gets that door.
Create a return for a parcel and receive the return code.
Get a signed load token for your own courier app.
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.
Subscribe in the admin console or through the API. Events: alert.opened, alert.resolved, parcel.created, parcel.status_changed, workorder.changed.
Each request carries a timestamp and an HMAC-SHA256 signature over the timestamp and body. Reject anything older than 5 minutes.
A transactional outbox sends an event if and only if the change is committed. Failed deliveries are retried.
HTTPS only, no redirects, private and special addresses blocked at connect time. Works with Slack or Teams.
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.
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.
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.
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.
Try the API against the demo locker, or ask us for a key for your integration project.