What Desmo is
Desmo helps you record delivery sessions from your apps, collect high-frequency device telemetry, and turn that data into proof-of-delivery (PoD) intelligence. At a high level you interact with Desmo through three layers:- Control plane – where you manage tenants, projects, and API keys.
- Data plane – where mobile SDKs start/stop sessions and stream telemetry into Desmo.
- View plane – where your systems call server-side APIs and your team uses the dashboard to inspect sessions and insights.
How integration works end-to-end
- Create API keys in the Desmo dashboard (control plane).
- Embed the mobile SDK (iOS or Android) in your courier app:
- Initialize the SDK with a publishable key (
pk_...). - Start a session when a delivery begins.
- Stop the session when the delivery is complete.
- The SDK streams telemetry to Desmo’s ingest APIs during the session.
- Initialize the SDK with a publishable key (
- Consume PoD insights from your backend via Desmo’s server-side APIs:
- Look up sessions and their PoD insights.
- Use those insights in your own workflows and UI.
Control plane: keys and auth
All calls into Desmo use an API key via theDesmo-Key header:
- Publishable keys (
pk_...) for SDKs running on end-user devices. - Secret keys (
sk_...) for your own backend and internal tools.
Desmo-Key on its HTTP requests, so you do not need to manage headers manually in your app.
Data plane: sessions and telemetry
From a mobile app’s point of view, the SDK wraps three core responsibilities:- Starting a session – tells Desmo a delivery session has begun using a Desmo‑managed session API.
- Streaming telemetry – batches high‑frequency motion and context data to a Desmo‑managed telemetry ingest service throughout the session.
- Stopping a session – tells Desmo the session is complete via the same session APIs so workers can process data and compute insights.
View plane: APIs and dashboard
Once sessions are recorded and processed, your customers and internal teams interact with Desmo via:- PoD APIs (used by your backend with secret keys). These stable, public endpoints are how you read session state and proof‑of‑delivery insights, for example:
GET /v1/sessions/{id}– session metadata.GET /v1/sessions/{id}/insights– the full “PoD case file” JSON.
- Dashboard, which is essentially a privileged web client on top of the same PoD APIs, used to:
- manage API keys,
- inspect sessions and insights,
- debug integrations.
Choose your path
Use this page as the jumping-off point for Desmo integrations:iOS SDK quickstart
Add the Desmo iOS SDK to your app and record your first delivery session.
Server PoD API (coming soon)
Learn how to call Desmo’s PoD APIs from your backend using secret keys.
Android SDK quickstart
Add the Desmo Android SDK to your app and record your first delivery session.
Dashboard
Use the Desmo dashboard to create keys and inspect sessions and insights.