Partner API
Build installation into your checkout
Sell hardware and installation as one purchase. The Partner API creates installation orders from your checkout, sends every lifecycle event back to your systems, and returns the right installation price at the point of sale. The customer clicks buy, and Done coordinates the rest.
What the API covers
A focused API for the installation lifecycle after purchase.
Idempotent order creation
Create orders with your own reference IDs. Retries are safe: the same reference never creates a duplicate installation.
Fetch, update, cancel
Read the full order state at any time, update details when the customer changes plans, and cancel cleanly when a purchase is refunded.
Lifecycle webhooks
Subscribe to events from matched to invoiced, with full order context in every payload, so you never poll for status.
Article and pricing API
Look up installation articles and prices to show accurate costs in your checkout, including VAT and deductions.
Tokens scoped per partner
Each integration authenticates with its own token. Your token sees your orders and nothing else.
Two-way status sync
Your systems stay current on the installation, and Done picks up changes you make on your side.
Webhooks
Six events cover the lifecycle
Every webhook carries the full order, so your systems can react without calling back for details. No polling loops, no sync jobs.
| Event | Fired when |
|---|---|
| order.matched An installer has accepted the job | An installer has accepted the job |
| order.scheduled The installation date is booked with the customer | The installation date is booked with the customer |
| order.report_submitted The installer submits the installation report | The installer submits the installation report |
| order.completed The installation is completed and approved | The installation is completed and approved |
| order.invoiced The customer invoice has been issued | The customer invoice has been issued |
| order.cancelled The order is cancelled, with the reason attached | The order is cancelled, with the reason attached |
Example payload (simplified, not the full schema):
POST https://api.example.com/done-webhooks
{
"event": "order.completed",
"occurredAt": "2026-05-28T14:32:00Z",
"order": {
"id": "ord_7k2f9d",
"externalReference": "your-order-18243",
"status": "completed",
"installedAt": "2026-05-28",
"report": {
"submitted": true,
"documents": ["installation-report.pdf"]
}
}
}Three common integration patterns
Start with one and build from there.
Checkout add-on
Offer installation as a line item in your checkout, priced through the article API. The order is created in Done as soon as payment clears.
After-sale handoff
Sell first, add installation later: create the order from your CRM or order system once the sale is confirmed, and follow it through webhooks.
Embedded status page
Show installation progress inside your own app or customer pages using order data from the API, while Done handles the coordination underneath.
Price at the point of sale
Show the real installation price before checkout
“Price on request” kills attach rate. The pricing API returns the actual installation price for what the customer is buying, so you can show one total at checkout and stand behind it.
- VAT calculated correctly for each case
- Green technology deduction applied in Sweden
- Article catalog managed per partner in Backoffice
- Change prices without touching your integration

Frequently asked questions
Get access to the API documentation
Contact sales and we'll set your team up with the Partner API documentation and an integration plan.
Contact sales